TimeZone Convert:
//要计算的区时=已知区时-(已知区时的时区-要计算区时的时区),(注:东时区为正,西时区为负)
//当算出的区时为负数时,应加上24:00,日期减一天
//当算出的区时大于或等于24:00时,应减去24:00,日期加一天
如果是在DateTimePicker中计算那么只要
DateTimePicker.Value.AddHours(-((curZoneHour + curZoneMin / 60) -
(targetZoneHour + targetZoneMin / 60)));
但是前提是当前时区和目标时区的夏令时状态相同,即两者都同时使用夏令时或者都不在使用夏令时
如果当前时区用夏令时,目标时区没用夏令时,则
结果要-1小时
如果当前时区没用夏令时,目标时区用夏令时,则
结果要+1小时
通过PowerShell查看TimeZone:
How can I get this list programmatically with PowerShell?
$TimeZones = [TimeZoneInfo]::GetSystemTimeZones();
$TimeZones | Select-Object -Property "BaseUtcOffset", "StandardName", "DaylightName"通过注册表查看TimeZone:
You can read all of the time zones in the registry, under the subkey
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

本文详细介绍了如何使用PowerShell和注册表API来获取计算机系统的时区信息,包括系统时区列表的获取及特定时区详情的查看。
1543

被折叠的 条评论
为什么被折叠?



