序列化/反序列化1970年1月1日之前的UTC日期时间

时间:2018-11-14 19:01:30

标签: c# datetime momentjs utc

我遇到以下问题。如果我序列化1970年1月1日之后的日期,然后反序列化它们,则它可以按预期工作。但是对于1970年1月1日之前的日期,使用momentjs进行反序列化是行不通的。

        DateTime dt = new DateTime(2010, 10, 20);
        DateTimeOffset dt2 = new DateTimeOffset(dt).ToUniversalTime();
        long a = dt2.ToUnixTimeMilliseconds();
        Console.WriteLine("value1: " + a); //1287525600000 => moment(1287525600000).toDate() => Wednesday, 20. October 2010 (00:00:00)
        DateTime dtfoo = new DateTime(1962, 10, 20);
        DateTimeOffset dtfoo2 = new DateTimeOffset(dtfoo).ToUniversalTime();
        long afoo = dtfoo2.ToUnixTimeMilliseconds();
        Console.WriteLine("value2: " + afoo); // -227239200000 => moment(-227239200000).toDate() => Friday, 19. October 1962 (23:00:00 GMT+01:00)
        Console.ReadLine();

我仅使用moment(unixtime).toDate()反序列化日期。第一次约会是20-10-2010。第二个日期是1962年10月19日(而不是1962年10月20日)。

0 个答案:

没有答案