gpt4 book ai didi

asp.net - 如何将服务器时间转换为本地时间

转载 作者:行者123 更新时间:2023-12-02 07:25:40 26 4
gpt4 key购买 nike

我的时间有问题
我的服务器位于美国,我在丹麦(欧洲),我想让我的网站显示我本地时间的时间。我怎样才能做到这一点?

我试试这个

Datetime localtime = DateTimeOffset.Now.ToOffset(new TimeSpan(1,0,0)).DateTime;

它可以工作,但只有当我处于 GMT+1/UTC+1 时才有效,而不是当我处于 GMT+2/UTC+2 时才有效。还有另一种方法可以做到这一点 - 一种更简单的方法吗?

最佳答案

您应该这样做的唯一方法如下:

string zoneId = "Central European Standard Time";
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(zoneId);
DateTime result = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow,tzi);
Console.WriteLine("Time is " + result + " in Denmark");

使用 TimeZoneInfo 类是 .Net 中与不同时区之间进行转换并获得正确的 DST 转换的唯一可靠方法。

TimeZoneInfo.ConvertTimeToUtc(dtLocal,tzi) 是从本地时间到 utc 时间的反向转换。

<小时/>

对于时区 ID 字符串,您可以在此处运行代码...

foreach( var tz in TimeZoneInfo.GetSystemTimeZones() )
{
Console.WriteLine(tz.DisplayName + " is Id=','" + tz.Id + "'");
}

关于asp.net - 如何将服务器时间转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/319367/

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