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).