gpt4 book ai didi

c# - 为什么 DateTime.TryParseExact() 会为这些输入字符串返回不同的时区?

转载 作者:行者123 更新时间:2023-11-30 19:24:43 26 4
gpt4 key购买 nike

我有最简单的方法将字符串解析为 DateTime 但返回类型是 DateTimeOffset?

我期望输出是

2011-01-11 00:00:00 +01:00
2011-10-11 00:00:00 +01:00

而是它是

2011-01-11 00:00:00 +01:00
2011-10-11 00:00:00 +02:00

为什么我会出现这种行为?我的测试程序如下。

class Program
{
static void Main(string[] args)
{
Console.WriteLine(Parse("20110111").ToString());
Console.WriteLine(Parse("20111011").ToString());
Console.ReadLine();
}

public static DateTimeOffset? Parse(string date)
{
DateTime parsedDate;
if (DateTime.TryParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate))
{
return parsedDate;
}

return null;
}
}

最佳答案

它返回当前机器的 TimeZone 并且一小时的差异是由于夏令时。这些在 10 月无效,但在 1 月有效。

关于c# - 为什么 DateTime.TryParseExact() 会为这些输入字符串返回不同的时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33698330/

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