Nella mia applicazione ASP.NET uso il codice from here per trovare la data di costruzione dell'applicazione come UTC. Il valore UTC leggere dal file assembly viene formattato come segue:Perché lo stesso valore DateTime restituisce un tempo di visualizzazione diverso per utenti diversi?
//DateTime time
return time.ToString("dd MMM yyyy HH:mm:ss");
Ora un utente apre la pagina servita da tale applicazione e vede
28 сен 2012 04:13:56
e informa l'altro utente che apre la stessa pagina e vede
27 Sep 2012 12:14:32
Entrambe le richieste sono serviti dalla stessa applicazione distribuita per pulire Windows Azure VM dallo stesso pacchetto, quindi è sicuramente esattamente lo stesso codice in esecuzione per entrambi gli utenti.
Chiaramente le stringhe sono formattate in modo diverso a causa della diversa localizzazione per le richieste da diversi utenti. Un utente vede il mese visualizzato come Sep
e l'altro lo vede come сен
(equivalente di Sep
in russo).
Perché le ore differiscono? Sono anche regolati secondo un certo fuso orario che dipende dalla localizzazione?
Beh, sì lo sono: il giorno e le ore sono diversi: ovviamente, quando sono le 4 di mattina del 28 settembre in Russia, è il 27 settembre da qualche altra parte (certamente nella parte occidentale della terra) ... ma che cos'è strano è che minuti/sec non dovrebbero cambiare – Kek