【问题标题】:How do I parse a json/javascript date with timezone to C# DateTime?如何将带有时区的 json/javascript 日期解析为 C# DateTime?
【发布时间】:2015-09-21 09:27:13
【问题描述】:

如何解析这种日期格式:

/日期(1402537043438+1000)/

到 C# 日期时间?

我仅限于 .Net 3.5,不能使用像 Newtonsoft 这样的 nuget 包。

【问题讨论】:

标签: javascript .net json


【解决方案1】:

JavaScriptSerializer(某种外部程序集,但不是 NuGet 要求)可以解析这些日期,但它们需要在字符串的开头和结尾有一个 \,例如:

var date = "/Date(1402537043438+1000)/";
var parsedDate = new JavaScriptSerializer().Deserialize<DateTime>("\"" + date.Replace("/", "\\/") + "\"");

【讨论】:

  • 感谢您的快速回复。我很乐意使用框架的东西,但我的字符串不是那种格式的 quite。你的有一些我缺少的字符,特别是前导转义引号和额外的反斜杠
  • @Ev.是的,没错。你的日期就是我在date 变量中的日期。我正在做的是修改该变量以使其成为序列化程序的有效 JSON 格式
  • 我刚刚看到您的更新,我希望它能够工作。该字符串不容易转换似乎有点古怪。您是否认为这表明我的数据不好?
  • 你的数据没问题,这是 MS 用来表示 JSON 中日期的格式(它实际上是 JavaScriptSerializer 将序列化 to 的格式),因为 JSON 不实际上指定了一种处理日期的方法。这似乎很古怪,因为从技术上讲,它只是针对 JSON 格式限制的一种古怪解决方法:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多