Share via


Windows Confidential

Evoluzione del timestamp della proprietà file

Raymond Chen

In Windows 95 informazioni timestamp nella finestra delle proprietà di file illustrato i vari timestamp nel fuso orario locale anche se il fuso orario che non era attivo in quel determinato momento. Ad esempio, ora di Redmond siamo su ora solare Pacifico, in modo che Windows 95 verranno visualizzati tutti i timestamp relativo a ora solare Pacifico. Di conseguenza, il timestamp di un file creato al mezzogiorno del 4 luglio verrà visualizzato come creazione all'11: 00 del mattino Quando si visualizza tale durante l'inverno perché fa riferimento nel momento stesso in cui data e ora dalle 11: 00 dell'ora legale Pacifico mezzogiorno Ora solare Pacifico. Attenzione si Redmond non era utilizza ora solare Pacifico 4 luglio, ma le informazioni sono tecnicamente corrette (se in modo intuitivo errato).

Questa modalità di gestione di volte che appartengono a “ l'altro lato ” del limite di tempo Saving legale (quali di fuori degli Stati Uniti spesso passa dal nome estate Time) è una differenza significativa tra codice gestito e codice non gestito. In passato codice non gestito esegue la conversione tra tempo universale coordinato (UTC) e l'ora locale in base al fuso orario locale nel momento in cui che viene effettuata la conversione, anziché sul fuso orario erano attivi per volta da convertire. Un motivo è che basando il fuso orario sul momento in fase di conversione può produrre ambiguità o gli orari in cui non può essere convertito. Ad esempio, durante il passaggio dall'ora solare all'ora legale, l'orologio passa dalle 2: 00 dalle 3: 00 negli Stati Uniti. Un'ora locale registrati come 2: 30 a.m. non sarebbe Nessun ora UTC corrispondente perché si è verificato nessun cosa ad esempio 2: 30 a.m. localmente. Peggio ancora, un'ora locale registrati come 2: 30 a.m. durante il passaggio dall'ora legale tempo all'ora solare sarebbe ambiguo, perché durante il passaggio dall'ora legale all'ora solare, l'orologio regresses un'ora e l'ora locale 2: 30 a.m. viene eseguita due volte.

Un altro motivo per non utilizzando l'ora da convertire in selezionare il fuso orario è che in molti casi il sistema operativo non dispone di informazioni necessarie per conoscere il fuso orario erano attivi in un determinato momento nel passato. Le regole per la modifica tra l'ora standard e l'ora legale sono soggette a modifiche da enti pubblici locali. Inoltre, sono stati paesi (ad esempio, Brasile e Israele) che, fino a poco tempo fa, non sono seguita una serie di regole prevedibile ma deciso invece alla data per la modifica nel caso per caso. Dato un punto nel tempo in passato o in futuro, è difficile (o in caso di future, impossibili) per determinare con certezza quale fuso orario è in vigore in quel momento. (E ottenere un valore significativo per i punti in fase di standardizzazione ora precedenti buona fortuna!)

D'altra parte, la classe System.DateTime in codice gestito non ottimizzarne per determinare il fuso orario erano attivi per volta da convertire, optano per presentare un valore più correggere in modo intuitivo, ma che comunque potrebbe non riuscire quando verrà visualizzata con i casi inusuali che offrono il heebie-jeebies codice non gestito.

In evoluzione. In Windows 2000, la formattazione del timestamp è stata modificata leggermente per pronunciare ieri, oggi o domani per le date che erano all'interno di un giorno della data corrente. Ad esempio, invece di creazione: Lunedì, 14 febbraio 2009, ore 7: 00: 00 AM, la finestra delle proprietà potrebbe dire Created: Oggi, febbraio 14 2009, 7: 00: 00 AM quando viene visualizzata in febbraio. 14. Non essenziale cambiato nulla; questo era semplicemente un po' visual tweak per rendere le cose prettier.

In Windows Vista, la parte relativa all'ora del timestamp è stata effettuata un po' più intuitiva: Se la data e ora si riferisce al giorno corrente, la parte relativa all'ora del timestamp viene espresso in notazione relativo: Creato: Oggi, febbraio 14 2009, 15 minuti fa.

E più di recente in Windows 7, la pagina Generale della finestra delle proprietà file Mostra timestamp basato sul fuso orario erano attivi alla località corrente quando il file è stato creato piuttosto che in base all'ora corrente, portare la finestra delle proprietà più in linea con il modo in codice gestito presenta i timestamp. Infine, il file creato al mezzogiorno del 4 luglio verrà visualizzata come creazione a mezzogiorno anche durante i mesi invernali. Questa modifica si avvale del nuovo cosiddetti Dynamic fusi, che consentono le regole di ora legale per un fuso orario variare da un anno in anno. Ciò consente di sapere che un file creato in ottobre. 30, 2006, Redmond creato durante l'ora solare Pacifico, mentre un file creato in ottobre. 30, 2007, è stato creato è stato creato durante l'ora legale Pacifico, grazie a modifiche nelle regole di ora legale negli Stati Uniti ha avuto effetto nel 2007.

Si noti che le informazioni cronologiche fornito con Windows non passa nuovamente al anni prima 1987, quando le regole erano diverse ancora, in modo che i timestamp precedente a 1987 potrebbero comunque finisce convertiti in modo non corretto.

Il risultato di tutte queste modifiche per l'interpretazione dei timestamp è che lo stesso file, quando viene visualizzata da diverse versioni di Windows, potrebbe essere necessario visualizzare i valori che differiscono di un'ora in entrambi i casi. Il timestamp di se stesso non è stato modificato; presenta solo il modo di Windows.

**Raymond Chen ’**s Sito WebIl Old New Thing, e gestire in modo identico con titolo libro (Addison-Wesley, 2007), di Windows della cronologia, programmazione Win32 e lo spostamento in un nuovo ufficio.

Contenuto correlato