C# 将DateTime转换为本地不工作

C# 将DateTime转换为本地不工作,c#,datetime,timezone,globalization,utc,C#,Datetime,Timezone,Globalization,Utc,在MVC4C应用程序中,我尝试将服务器时间转换为本地时间。它在本地工作,但在站点部署时不工作。为了进行测试,我检查了部署站点中的一些代码结果。它们是: 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.UtcNo

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

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
。有人能帮我转换服务器时间并像本地时间一样显示吗?

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


如果需要使用代码的解决方案,则必须使用时区将UTC时间转换为特定的时区时间。此链接将帮助您:

我找到了解决方案,但是,当我键入时,它会工作,在这种情况下,日期选择器不工作……您使用的是哪种日期选择器?jquery UI日期选择器或jquery日期选择器。我找不到真正的理由。因为有时,日期工作,日期选择器不工作,而有时相反。此时,datepicker工作正常,但ToLocalTime()方法工作不正常。我用