2013-10-08 11 views
6

Sto provando a modificare il fuso orario predefinito del mio sito Web asp.net e ho provato il seguente codice ma non ha funzionatoCome modificare il fuso orario predefinito del mio sito Web asp.net nel file 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> 

risposta

17

Cambiare la cultura non cambia il fuso orario. In .NET non è possibile modificare il fuso orario in base alle singole applicazioni. Può essere modificato solo a livello di sistema.

Molti server lo impostano su UTC, ma la migliore pratica è quella di non fare affidamento sul fuso orario del sistema. Non utilizzare mai DateTime.Now, TimeZoneInfo.Local, DateTimeKind.Local, ecc. Da un'applicazione Web.

Utilizzare invece DateTime.UtcNow, DateTimeOffset.UtcNow o se è necessario conoscere l'ora locale del server, utilizzare DateTimeOffset.Now.

Se è necessaria l'ora locale di un determinato utente, è necessario conoscere il proprio fuso orario e utilizzare le funzioni su TimeZoneInfo per la conversione tra quella zona specifica e l'ora UTC.

Ulteriori informazioni here.