gpt4 book ai didi

C# 日期时间解析问题

转载 作者:可可西里 更新时间:2023-11-01 08:53:23 24 4
gpt4 key购买 nike

尝试将日期/时间从字符串转换为 DateTime 时,我没有得到正确的值。

DateTime testDate = DateTime.ParseExact("2012-08-10T00:51:14.146Z", "yyyy-MM-ddTHH:mm:ss.fffZ",    CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);

我的结果是 2012-08-09 8:51:14 PM。为什么会被抵消?我只是希望它具有相同的值(value)。

最佳答案

您正在解析 UTC 日期,但 DateTime.Kind 是本地的。您应该使用 DateTimeStyles.AdjustToUniversal 进行解析以将 Kind 标记为 Utc。

        DateTime testDate = DateTime.ParseExact("2012-08-10T00:51:14.146Z", "yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);

Trace.WriteLine(testDate); // 8/9/2012 8:51:14 PM
Trace.WriteLine(testDate.ToString()); // 8/9/2012 8:51:14 PM
Trace.WriteLine(testDate.ToUniversalTime()); // 8/10/2012 12:51:14 AM
Trace.WriteLine(testDate.Kind); // Local

testDate = DateTime.ParseExact("2012-08-10T00:51:14.146Z", "yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);

Trace.WriteLine(testDate);// 8/10/2012 12:51:14 AM
Trace.WriteLine(testDate.ToString());// 8/10/2012 12:51:14 AM
Trace.WriteLine(testDate.ToUniversalTime());// 8/10/2012 12:51:14 AM
Trace.WriteLine(testDate.Kind); // Utc

关于C# 日期时间解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com