[英]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.