Domanda

In questione Alla ricerca di un buon convertitore CTIME/Unixtime Ho chiesto un buon convertitore di tempo CTIME (Secondi dal 1 gennaio 1970) basato sul web.(Di solito un intero con segno a 32 bit).

Avevo bisogno di uno strumento in cui inserire una data e ottenere l'equivalente CTIME.Sono riuscito a trovarne uno, una volta che ho capito che Unixtime è l'altro nome del formato.Google è stato mio amico una volta arrivato lì.

Ora che ne dici di un convertitore FILETIME, che è più comunemente usato come intero con segno a 64 bit, che rappresenta 100 unità di nanosecondi dal 1 gennaio 1601.(Ciò che Active Directory utilizza internamente per l'archiviazione del tempo).

Probabilmente c'è qualche parola chiave migliore su cui cercare che possa trovarla per me.Ho uno strumento che mi mostrerà l'ora corrente in FILETIME e posso fare i calcoli altrove a mano, ma non proprio quello che cerco con un approccio facile da usare.

Ho una funzione che può essere utilizzata nel codice, ma non un wrapper per renderlo facilmente utilizzabile in un formato veloce.Il formattatore temporale di Java lo supporta, ma sto ancora cercando una versione ben confezionata.

È stato utile?

Soluzione

Questo strumento convertirà tutti i tipi di tempo online.

Altri suggerimenti

In Windows, l'ora di base è 1/1/1601.Anche il FileTime viene registrato utilizzando 100 nanosecondi come misura.Usando VBA questo ti porterà in pochi secondi in entrambi i casi.

(Il -4 è il tuo attuale spostamento UTC) EST è solitamente -5 ma poiché i nostri governi non possono riunirsi e standardizzare il passaggio all'ora legale o eliminare del tutto l'ora legale, dovrai cambiarlo nel tuo fuso orario.

Il 600000000 converte 100 nanosecondi in minuti per evitare overflow.

Inoltre, riconosci che si tratta di VBA, quindi passa il tuo valore Double in formato notazione.

Public Function ConvertFileTime(ByVal d As Double) As Date
    ConvertFileTime = DateAdd("n", (d / 600000000) + (60 * -4), #1/1/1601#)
End Function

Esempio:

ConvertiFileTime( 1.2944684916706E+17 )

Dovrebbe restituire il 15 marzo 2011 alle 13:48

Windows ha uno strumento da riga di comando integrato che convertirà un file Windows FILETIME in un formato leggibile dall'uomo (vedi Strumenti del servizio Ora di Windows).

Emettendo il seguente comando:

w32tm.exe /ntte 132015260350000000

produce questo output:

152795 10:33:55.0000000 - 05.05.2019 12:33:55
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top