【问题标题】:How to change default time zone in azure website service?如何更改 azure 网站服务中的默认时区?
【发布时间】:2012-09-30 13:22:15
【问题描述】:

我是 Azure 网站服务的新手。 我上传了我的网站文件,效果很好。

但我对默认时区有疑问。 我的位置是首尔(+9)。但是当我在下面调用时,代码会返回 UTC(+0) 时间。

DateTime.Now;

有没有什么方法可以解决这个问题而不需要像编辑 Web.config 这样的复杂修复?

【问题讨论】:

    标签: azure timezone azure-web-app-service


    【解决方案1】:

    现在可以更改 Azure 网站/Web 应用程序的服务器时区。

    为此,请添加一个名为“WEBSITE_TIME_ZONE”的应用程序设置(使用门户),该设置等于相关时区的名称(基本上与 HKLM\Software\Microsoft\Windows Nt\CurrentVersion 中的键名相同的字符串\时区\)。

    时区值列表是here。使用标有“时区名称”的列中的值。

    【讨论】:

    • 无需更改代码的解决方案的最高分。谢谢!
    • 不幸的是,这不适用于 Azure 上的数据库。 mssql azure 数据库中的 GetDate() 仍使用此设置返回 UTC。
    • 没错,但问题是关于 Web 应用程序的。
    • 刚刚在我的 webapps 应用程序设置中更改了它并且工作正常。对我来说,英国时间是 WEBSITE_TIME_ZONE = GMT 标准时间
    • 您无需明确要求夏令时时区。如果您指定正确的标准时区,将自动进行 DST 调整。
    【解决方案2】:

    不建议在 Azure VM 上更改时区 according to Microsoft。而是使用methods of TimeZoneInfo 结构将时间转换为本地时间。

    但是,above mentioned post 中至少提到了一种可能的解决方案。

    附:问题作者在下面的评论中提供的解决方案示例:

    DateTime timeUtc = DateTime.UtcNow;
    TimeZoneInfo kstZone = TimeZoneInfo.FindSystemTimeZoneById("Korea Standard Time"); 
    DateTime kstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, kstZone);
    

    【讨论】:

    • 日期时间 timeUtc = DateTime.UtcNow; TimeZoneInfo kstZone = TimeZoneInfo.FindSystemTimeZoneById("韩国标准时间"); DateTime kstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, kstZone);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2011-09-16
    • 2019-05-19
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多