gpt4 book ai didi

c# - 从 .NET 设置系统时区

转载 作者:可可西里 更新时间:2023-11-01 07:50:47 27 4
gpt4 key购买 nike

有没有人有一些代码可以从 .NET 获取 TimeZoneInfo 字段并执行互操作代码以通过 SetTimeZoneInformation 设置系统时区?我意识到它基本上是将 TimeZoneInfo 成员映射到结构成员,但对我来说这些字段将如何准确映射或者除了偏差之外我应该关心什么对我来说并不明显。

最佳答案

还有另一种方法可以做到这一点,诚然这有点 hack,但在实践中效果很好:

public void SetSystemTimeZone(string timeZoneId)
{
var process = Process.Start(new ProcessStartInfo
{
FileName = "tzutil.exe",
Arguments = "/s \"" + timeZoneId + "\"",
UseShellExecute = false,
CreateNoWindow = true
});

if (process != null)
{
process.WaitForExit();
TimeZoneInfo.ClearCachedData();
}
}

只需调用此方法并传递您要设置的 TimeZoneInfo.Id。例如:

SetSystemTimeZone("Eastern Standard Time");

运行此代码不需要特殊权限,因为 tzutil.exe 已经具有适当的权限。

关于c# - 从 .NET 设置系统时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808736/

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