繁体   English   中英

使用C#/ WinRT项目中的Windows.Data.Json库解析JSON日期/时间值

[英]Parsing a JSON Date/Time value using the Windows.Data.Json library in C#/WinRT project

我收到的JSON DateTime值如下所示:“ / Date(1313438502992)/”

如何使用Windows.Data.Json库将其转换为C#中正确的DateTime值?

使用以下代码会导致报告错误的DateTime值:

string dateValue = value.GetString();
//we get a value like "/Date(1313438502992)/"

dateValue = dateValue.Replace("/Date(", "");
dateValue = dateValue.Replace(")/", "");

var PublishDate = new System.DateTime(Convert.ToInt64(dateValue));

不确定JSON编码器和C#DateTime对象是否使用纪元的相同概念。 任何指导将不胜感激。

JSON值应为自1970年1月1日UTC以来的毫秒数 如果可以给您预期的结果,请尝试以下代码:

var match = Regex.Match(dateValue, @"/Date\((?<millisecs>-?\d*)\)/");
var millisecs = Convert.ToInt64(match.Groups["millisecs"].Value);
var date = new DateTime(1970, 1, 1).AddMilliseconds(millisecs);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM