C# 夏季偏移的时区查询
我有一个小小的windows应用程序,当日期时间选择器改变时,它可以转换英国、美国和新西兰的时区,但我觉得我的代码没有考虑到各种夏季和冬季的偏移量。任何帮助都将不胜感激C# 夏季偏移的时区查询,c#,datetime,C#,Datetime,我有一个小小的windows应用程序,当日期时间选择器改变时,它可以转换英国、美国和新西兰的时区,但我觉得我的代码没有考虑到各种夏季和冬季的偏移量。任何帮助都将不胜感激 TimeZoneInfo nzZone = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time"); TimeZoneInfo ukZone = TimeZoneInfo.FindSystemTimeZoneById("GM
TimeZoneInfo nzZone = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");
TimeZoneInfo ukZone = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
TimeZoneInfo usZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime nzZone1 = TimeZoneInfo.ConvertTime(dateTimePicker1.Value, TimeZoneInfo.Local, nzZone);
DateTime ukZone1 = TimeZoneInfo.ConvertTime(dateTimePicker1.Value, TimeZoneInfo.Local, ukZone);
DateTime usZone1 = TimeZoneInfo.ConvertTime(dateTimePicker1.Value, TimeZoneInfo.Local, usZone);
label4.Text = nzZone1.ToString("dd-MM-yyyy HH:mm");
label5.Text = ukZone1.ToString("dd-MM-yyyy HH:mm");
label6.Text = usZone1.ToString("dd-MM-yyyy HH:mm");
这没关系。你的怀疑与英国和新西兰时区都实施日光变化这一事实有关。如果您创建了另一个不实施日光变化的时区信息(例如UTC和test),并使用两个完全不同的日期(如1月1日和7月1日),您可以看到预期的效果
TimeZoneInfo utcZone = TimeZoneInfo.FindSystemTimeZoneById("UTC");
DateTime utcZone1 = TimeZoneInfo.ConvertTime(dateTimePicker1.Value, TimeZoneInfo.Local, utcZone);
labelutc.Text = utcZone1.ToString("dd-MM-yyyy HH:mm");
你能举个例子吗?预期的输入/输出?事实上,我不能,我在谷歌上看了看新西兰和英国何时改变了时间,上面的代码工作正常。