Pregunta

En la pregunta Buscando convertidor Buena CTIME / unixtime Pregunté para un buen sitio en Internet basado CTIME (segundos desde ene 1, 1970) conversor de tiempo. (Por lo general, un entero de 32 bits).

que necesitaba una herramienta donde podría introducir una fecha, y obtener el CTIME equivalente. Yo era capaz de encontrar uno, una vez que me di cuenta de que unixtime es otro nombre para el formato. Google fue mi amigo una vez llegué allí.

Ahora ¿qué tal un convertidor de FILETIME, que se utiliza más comúnmente como entero de 64 bits, lo que representa unidades de 100 nanosegundos desde el 1 de enero de 1601. (Lo Active Directory utiliza internamente para el tiempo de almacenamiento).

Probablemente hay algo mejor palabra clave para buscar que encontrarlo para mí. Tengo una herramienta que me va a mostrar la hora actual en FILETIME, y puedo hacer los cálculos en otro lugar con la mano, pero no es lo que busco de la facilidad de enfoque de uso.

Tengo una función que se puede utilizar en el código, pero no un envoltorio para hacer fácilmente utilizable en un formato rápido. formateador tiempo de Java soporta, pero de nuevo estoy buscando una versión muy bien envuelto de ello.

¿Fue útil?

Solución

Esta herramienta convertirá todos los tipos de tiempo en línea.

Otros consejos

En Windows, el tiempo base es 01.01.1601. El FileTime también se registra utilizando 100 nanosegundos como la medida. El uso de VBA que esto le ayudará a los pocos segundos de cualquier manera.

(El -4 es su actual UTC Offset) Est es generalmente -5 pero dado que nuestros gobiernos no pueden reunirse y estandarizar las conmutaciones DST o deshacerse de horario de verano en conjunto, que tendrá que cambiar esto a su zona horaria .

El 600000000 es la conversión 100 nanosegundos a minuto para evitar desbordamientos.

Además, reconoce que este es VBA, por lo que pasa a su valor doble en formato de notación.

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

Ejemplo:

ConvertFileTime (1.2944684916706E + 17)

Esto debería Salida 15 de marzo de, 2011 13:48

Windows tiene una herramienta integrada de línea de comandos que convertirá un FILETIME Windows en un formato legible por humanos (ver noreferrer herramientas de servicio de hora de windows ).

emitiendo el siguiente comando:

w32tm.exe /ntte 132015260350000000

produce esta salida:

152795 10:33:55.0000000 - 05.05.2019 12:33:55
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top