我不能为我的生活反序列化一个日期字符串,我被告知是ISO 8601(例如'1396949418557')到C#DateTime对象。
我非常喜欢我读过的Noda Time,我正在使用JSON.NET。有人遇到过这个吗?
答案 0 :(得分:5)
使用Noda时间:
Instant instant = Instant.FromMillisecondsSinceUnixEpoch(1396949418557);
答案 1 :(得分:1)
它看起来像一个unix时间戳。试试这个:
var unixEraStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
var dateTime = unixEraStart.AddMilliseconds(1396949418557);
答案 2 :(得分:1)
您的字符串看起来像Javascript时间戳(自1970/01/01以来的毫秒数,实际上是1000 * unix时间)。
我从未使用过nodatime,但看起来这个库定义了自unix时代以来的滴答时间,10,000个滴答= 1毫秒。因此,如果您对字符串执行Int64.Parse,然后将其乘以10,000,则应该能够使用该值构造一个nodatime日期对象。