Question

recherche d'un bon CTIME / convertisseur unixtime J'ai demandé pour une bonne CTIME sur le Web (secondes depuis le 1er janvier 1970) convertisseur de temps. (Habituellement un entier signé de 32 bits).

Je avais besoin d'un outil où je pouvais entrer une date, et obtenir l'équivalent CTIME. J'ai pu en trouver un, une fois que je pris conscience que unixtime est l'autre nom pour le format. Google était mon ami quand je suis arrivé.

Maintenant que diriez-vous d'un convertisseur de FILETIME, qui est plus couramment utilisé comme entier signé 64 bits, ce qui représente 100 unités de nanosecondes depuis le 1er janvier 1601. (Qu'est-ce que Active Directory utilise en interne pour le stockage de temps).

Il y a probablement une meilleure mot-clé pour la recherche sur ce trouverait pour moi. J'ai un outil qui me montrera l'heure actuelle dans FILETIME, et je peux faire le calcul ailleurs à la main, mais pas tout à fait ce que je suis à la recherche d'une facilité d'approche d'utilisation.

J'ai une fonction qui peut l'utiliser dans le code, mais pas un emballage de faire facilement utilisable dans un format rapide. Le temps de formatter Java supporte, mais je suis encore à la recherche d'une version bien emballé de cela.

Était-ce utile?

La solution

Cet outil vous permet de convertir tous les types de temps en ligne.

Autres conseils

Dans Windows, le temps de base est 1/1/1601. Le FileTime est également enregistré en utilisant 100 nanosecondes comme la mesure. En utilisant VBA cela vous obtiendrez en quelques secondes dans les deux cas.

(La -4 est votre UTC Décalage actuel) EST est généralement -5 mais étant donné que nos gouvernements ne peuvent pas se réunir et de normaliser les basculements DST ou de se débarrasser de l'heure d'été tout à fait, vous devrez changer pour votre fuseau horaire .

600000000 est de convertir 100 nanosecondes à quelques minutes afin d'éviter les débordements.

En outre, reconnaître que c'est VBA, donc passer votre valeur double en notation.

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

Exemple:

ConvertFileTime (1.2944684916706E + 17)

Cela devrait 15 Mars revenir, 2011 13:48

Windows a un outil intégré dans la ligne de commande qui permet de convertir un FILETIME Windows dans un format lisible par l'homme (voir noreferrer de temps windows outils ).

exécutant la commande suivante:

w32tm.exe /ntte 132015260350000000

produit cette sortie:

152795 10:33:55.0000000 - 05.05.2019 12:33:55
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top