[英]Why does DateTime.TryParseExact() return different time zone for these input strings?
我有一个最简单的方法,将字符串解析为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月份。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.