本文总结了C#中与时区相关的操作,包括获取所有时区信息、获取时区ID、确定当前系统时区以及DateTime的扩展方法,特别是UTC和GMT之间的转换。通过这些方法,开发者可以在程序中灵活处理不同时区的时间。
摘要由CSDN通过智能技术生成
如下是输出:(如下输出是北京时间)
{(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi}
BaseUtcOffset: {08:00:00}
DaylightName: "China Daylight Time"
DisplayName: "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi"
Id: "China Standard Time"
StandardName: "China Standard Time"
SupportsDaylightSavingTime: false
// 获取中国
时区
var chinaZone =
TimeZone
Info.FindSystem
TimeZone
ById("China Standard Time");
// 机器本地时间 -> 中国时间
var chinaTime =
TimeZone
Info.ConvertTime(localTime,
TimeZone
Info.Local, chinaZone);
Console.WriteLine(Environment.MachineName);
Console.WriteLine(Environment.UserName);
TimeZone
Info localZone =
TimeZone
Info.Local;
Console.WriteLine("...
最近在工作中遇到需要修改系统
时区
的问题,系统是嵌入式WinCE系统,虽说WinCE系统用户可以直接通过操作系统改系统
时区
,但我们嵌入式产品的设计是开机直接打开软件而禁止用户访问WinCE桌面,所以开发人员要在应用软件上实现设置
时区
功能。我们的应用软件是
C#
开发的,但我没找到
C#
查看全部
时区
和设置
时区
的接口,只有一个获取当前
时区
的接口。但我在网上找到了用命令行设置
时区
的
方法
,而
C#
可以直接调用命令行。
打开windows命令行,tzutil /g查看当前
时区
,tzutil /g列出...
string localID =
TimeZone
Info.Local.Id;
Debug.Log(localID);
DateTime StartDateTime =
TimeZone
Info.ConvertTime(new DateTime(1970, 1, 1),
TimeZone
Info.FindSystem
TimeZone
ById("China Standard Time"));
DateTime StartDateTime.
"yyyy-MM-ddTHH:mm:ssz" => 2018-02-03T23:33:33+8
"yyyy-MM-ddTHH:mm:sszz" => 2018-02-03T23:33:33+08
"yyyy-MM-ddTHH:mm:sszzz" => 201...
在注册表以下路径,start键值3,4表示自动/不自动更新
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tzautoupdate
有关
时区
更改的
cmd下,有个tzutil可用于更改
时区
直接去修改注册表,是不会触发Windows的
时区
同步的(如果Windows本身...
abandon_asdn:
关于时区(TimeZone)的C#方法一瞥
yongqiangyue
我简单的测试了一下,可以使用的。之前使用C++API。还是C#的方便些
关于时区(TimeZone)的C#方法一瞥