2013-08-07 15 views
12

Sto usando C#. Devo ottenere le informazioni sul fuso orario locale per la persona che sta eseguendo l'applicazione web.Ottieni locale TimeZoneInfo

Mi chiedevo se

TimeZoneInfo tzinfo = TimeZoneInfo.Local; 

    TimeZoneInfo.ConvertTimeFromUtc(result.DueDate.Value, tzinfo); 

è la cosa usare. A seconda di quale fuso orario è la persona che esegue l'applicazione, mi piace essere riflessa.

+6

Hai detto "web application" - stai cercando di ottenere il fuso orario del * server * o del * client *? –

+1

Sto cercando di ottenere il fuso orario del client. –

+0

Ecco come posso convertire un DateTime UTC nell'ora locale dell'utente per un sito web. Il trucco consiste nel chiedere all'utente (client) di comunicare al server il fuso orario in cui si trova e lasciare che il server compensi l'UTC DateTime nell'ora locale: https://stackoverflow.com/questions/8194016/how-to- get-current-user-timezone-in-c-sharp/30503614 # 30503614 –

risposta

14

sì, hai ragione, questo è quello che dovresti usare. Alternativa può essere

TimeZone localZone = TimeZone.CurrentTimeZone; 

ma la proprietà CurrentTimeZone corrisponde alla proprietà TimeZoneInfo.Local quindi alcuna differenza davvero.

visualizza i nomi per ora solare e ora legale per il fuso orario locale.

+3

Si consiglia di chiarire che ciò restituisce il fuso orario locale della macchina che ospita il processo e non necessariamente la "persona che sta eseguendo l'applicazione web". – Mayo

+0

Grazie. Sto usando TimeZoneInfo.ConvertTimeFromUtc sulla vesion modificata sopra. Per favore fatemi sapere se questo è l'approccio migliore. Grazie. –

+0

vuoi informazioni su fuso orario o server? – Ehsan

Problemi correlati