如何解析日期格式?

时间:2014-08-04 05:45:06

标签: c# datetime datetime-format

在我的应用程序正在使用的其中一个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));

它不起作用。知道出了什么问题吗?

2 个答案:

答案 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?