在c#中无法将日期以下对象转换为日期时间
{"date":1606813200000 , "open":119000.0, "high":130900.0, "low":107500.0, "close":113300.0, "volume":36892044.0}
我不明白两者之间的关系
为什么是1606813200000 == 2020-12-01T09:00:00.000Z
?
你能看到,与站点 https://jsoneditoronline.org/ 的关系
答案 0 :(得分:2)
您看到的数字是 Javascript 时间戳 (number of milliseconds elapsed since January 1, 1970 00:00:00 UTC)。您可以在任何浏览器控制台中对其进行测试:
在 this article 之后,您可以转换回 DateTime
对象:
public static DateTime ConvertFromUnixTimestamp(double timestamp)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp / 1000); // convert from milliseconds to seconds
}
从评论中,我意识到还有这个方法 DateTimeOffset.FromUnixTimeMilliseconds:
// Convert Timestampt to DateTimeOffset
var time = DateTimeOffset.FromUnixTimeMilliseconds(1606813200000);
// Convert back to ISO string
var isoString = time.ToString("o");