Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le funzioni temporali incluse nel runtime C usano il tipo di time_t per rappresentare il numero di secondi trascorsi dalla mezzanotte del 1° gennaio 1970. Nell'esempio seguente viene convertito un valore time_t in un FILETIME.
#include <windows.h>
#include <time.h>
void TimetToFileTime(time_t t, LPFILETIME pft)
{
ULARGE_INTEGER time_value;
time_value.QuadPart = (t * 10000000LL) + 116444736000000000LL;
pft->dwLowDateTime = time_value.LowPart;
pft->dwHighDateTime = time_value.HighPart;
}
Dopo aver ottenuto un FILETIME, è possibile convertire il valore in ora di sistema usando la funzione FileTimeToSystemTime.
Esempio di codice legacy
L'esempio di codice nella sezione precedente è valido per qualsiasi architettura. Tuttavia, se si compila per un'architettura a 32 bit e si definisce _USE_32BIT_TIME_T, time_t è un valore a 32 bit. In questo caso è possibile usare invece l'esempio di codice seguente.
#include <windows.h>
#include <time.h>
void TimetToFileTime(time_t t, LPFILETIME pft)
{
LONGLONG time_value = Int32x32To64(t, 10000000) + 116444736000000000;
pft->dwLowDateTime = (DWORD) time_value;
pft->dwHighDateTime = time_value >> 32;
}