Unix time (__time64_t or time_t) to FILETIME



Here is the code to convert unix time (__time64_t) to FILETIME. You can also use time_t, in which case you would need to use Int32x32to64(t, 10000000) function to multiply in the below code.

void UnixTimeToFileTime(__time64_t t, FILETIME * pFT)
{
	// Note that LONGLONG is a 64-bit value
	LONGLONG ll;
 
	ll = (t * 10000000) + 116444736000000000;
 
	pFT->dwLowDateTime = (DWORD)ll;
	pFT->dwHighDateTime = ll >> 32;
}

Leave a Reply

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

*

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">