ms filetime & unix time

TIL despre FILETIME, adica cum tine Microsoft timpul.

FILETIME inseamna cate perioade de 100ns au trecut de la 1 Ianuarie 1601 pana la momentul asta si este pe 64 de biti, sa aiba loc sa bage timp :)

Formula de transformare in UNIX time, adica secunde trecute de la 1 Ianuarie 1970 pana acum este in felul urmator pentru o valoare a FILETIME de 130796482290000000:

EPOCH_DIFF = 116444736000000000
RATE_DIFF = 10000000
INTERMEDIATE_RESULT = (130796482290000000 - EPOCH_DIFF) / RATE_DIFF
RESULT = (INTERMEDIATE_RESULT * 1000)

Din RESULT se se iau primele zece cifre si rezulta UNIX TIME (epoch), adica 1435174629 care traduce in “Wed, 24 Jun 2015 19:37:09 GMT” (toate calculele se fac UTC).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.