【问题标题】:how convert 1606813200000 to 2020-12-01T09:00:00.000Z with c# [duplicate]如何使用 c# 将 1606813200000 转换为 2020-12-01T09:00:00.000Z [重复]
【发布时间】:2021-10-02 01:16:55
【问题描述】:

在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/的关系?

【问题讨论】:

标签: c# datetime


【解决方案1】:

您看到的数字是 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");

【讨论】:

    猜你喜欢
    • 2020-11-19
    • 2021-01-04
    • 2021-03-30
    • 1970-01-01
    • 2021-07-10
    • 2020-05-01
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多