在我的应用程序正在使用的其中一个Web服务中,我遇到了以下DateTime格式。
"/Date(1395780377459)/"
这是一些标准的日期格式吗?如果是这样,如何将其解析为DateTime对象?
编辑:
感谢您的评论。所以"/Date(1395780377459)/"
对应GMT:星期二,2014年3月25日20:46:17 GMT
。我想知道如何在.net中解析它。尝试:
string test = "/Date(1395780377459)/";
var datestring = test.Substring(6).TrimEnd(')','/');
var date = new DateTime(long.Parse(datestring));
也试过这个:
string test = "/Date(1395780377459)/";
var datestring = test.Substring(6).TrimEnd(')','/');
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
var result = epoch.AddSeconds(long.Parse(datestring));
它不起作用。知道出了什么问题吗?
答案 0 :(得分:2)
我认为日期是毫秒格式。所以你可以试试这个:
DateTime date = new DateTime(long.Parse(1395780377459));
date.ToString("yyyy-MM-ddThh:mm:ssZ");
或只是
var time = TimeSpan.FromMilliseconds(1395780377459);
如果日期是json格式,那么你可以按照answer中提到的那样尝试:
var date = new Date(parseInt(jsonDate.substr(6)));
答案 1 :(得分:1)
它看起来像一个unix时间戳:
http://www.epochconverter.com/
Tue, 25 Mar 2014 20:46:17 GMT
在.NET中:
var epoch = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
var dt = epoch.AddMilliseconds(1395780377459);
(资料来源:How to convert a Unix timestamp to DateTime and vice versa?)