2013-05-10 9 views

risposta

26

È il fuso orario locale del computer su cui è in esecuzione il codice. In un'applicazione ASP.Net, il codice viene eseguito sul server , quindi questo è il fuso orario che verrà restituito.

Il comportamento di questa funzione dipende in realtà dalla proprietà .Kind del valore di origine. Dal MSDN link you gave:

  • Utc - Questa istanza di DateTime viene convertita in ora locale.
  • Locale - Nessuna conversione viene eseguita.
  • Non specificato -Questa istanza di DateTime si presume essere un'ora UTC e la conversione viene eseguita come se Kind fosse Utc.

Questo comportamento non è ovvio. È possibile leggere altri problemi correlati con .net DateTime classe here e here.

alcuni altri punti:

  • Se seguite best practices, si impostare il fuso orario del server per UTC.
  • Se si sta tentando di visualizzare l'ora nel fuso orario dell'utente, sarà necessario utilizzare one of these strategies.
3

È l'ora locale sul server.

1

Locale qui è il fuso orario della macchina su cui viene eseguita la funzione.

8

ToLocalTime(), in questo caso, viene eseguito sul server. Pertanto, il tempo viene valutato sul server e restituirà l'ora del server al client.

Problemi correlati