2013-10-08 4 views
6

Próbuję zmienić domyślną strefę czasową mojej strony asp.net i próbowałem następującego kodu, ale to nie zadziałałoJak zmienić domyślną strefę czasową mojej strony asp.net w pliku web.config

<system.web> 
<globalization culture="ar-JO" uiCulture="ar-JO" /> 
<httpRuntime maxUrlLength="10999" maxQueryStringLength="2097151" /> 
<compilation debug="true" targetFramework="4.0"/> 
<customErrors mode="Off"/> 
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> 
<webServices> 
    <protocols> 
    <add name="HttpGet"/> 
    <add name="HttpPost"/> 
    </protocols> 
</webServices> 

Odpowiedz

17

Zmiana kultury nie zmienia strefę czasową. W .NET nie ma możliwości zmiany strefy czasowej dla poszczególnych aplikacji. Można go zmienić tylko w całym systemie.

Wiele serwerów ustawia ją na UTC, ale najlepszą praktyką jest nie poleganie w ogóle na strefie czasowej systemu. Nigdy nie należy używać aplikacji z aplikacji internetowej, np. DateTime.Now, TimeZoneInfo.Local, ,.

Zamiast tego należy użyć DateTime.UtcNow, DateTimeOffset.UtcNow lub jeśli musisz znać lokalny czas serwera, użyj DateTimeOffset.Now.

Jeśli potrzebujesz czasu lokalnego określonego użytkownika, musisz znać jego strefę czasową i użyć funkcji na TimeZoneInfo, aby przekonwertować między tą strefą a czasem UTC.

Czytaj więcej here.

Powiązane problemy