0

在 MVC4 C# 应用程序中,我尝试将服务器时间转换为本地时间。它在本地工作,但在站点部署时不起作用。为了测试,我检查了部署站点中的一些代码结果。他们是:

25.03.2013 04:39:31 - DateTime.Now 
25.03.2013 09:39:31 - DateTime.UtcNow
25.03.2013 04:39:31 - DateTime.UtcNow.ToLocalTime()
25.03.2013 09:39:31 - SpecifyKind(DateTime.UtcNow, DateTimeKind.Local)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTimeFromUtc(DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), TimeZoneInfo.Local)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, TimeZoneInfo.Local.Id)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.Local) 
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Local)
25.03.2013 09:39:31 - TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Utc)
Utc - DateTime.UtcNow.Kind

同时在我的电脑时间是:

25.03.2013 13:39:31;

我认为这取决于全球化。在配置文件中,我分别尝试了以下变体:

    <globalization  uiCulture="en-US"/>,

    <globalization culture="az" uiCulture="az" />,

    <globalization culture="auto" uiCulture="auto" />,

    <globalization culture="az-Latn-AZ" uiCulture="az-Latn-AZ" />,

    <globalization culture="en-US" uiCulture="en-US"/>

但是,什么都没有改变。我的本地时区是(UTC+04:00) 巴库,我DateTime.UtcNow在所有代码中都使用了。谁能帮我转换服务器时间并像当地时间一样显示?

4

1 回答 1

2

问题是您的站点正在使用它所在服务器的时间和时区。您的问题的解决方案是您将服务器的日期时间(如果您有权这样做)更改为您在本地机器上的本地时间。

如果您想要使用代码的解决方案,您必须使用 Timezone 将 UTC time 转换为您的特定 timezone time 。此链接将为您提供帮助:http: //msdn.microsoft.com/en-us/library/bb397769.aspx

于 2013-03-25T09:59:05.067 回答