Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcje czasu zawarte w czasie wykonywania języka C używają typu time_t do reprezentowania liczby sekund, które upłynęły od północy, 1 stycznia 1970 r. Poniższy przykład konwertuje wartość time_t na 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;
}
Po uzyskaniu filetimemożna przekonwertować wartość na czas systemowy przy użyciu funkcji FileTimeToSystemTime.
Przykład starszego kodu
Przykład kodu w poprzedniej sekcji jest dobry dla każdej architektury. Jeśli jednak utworzysz architekturę 32-bitową i zdefiniujesz _USE_32BIT_TIME_T, time_t jest wartością 32-bitową. W takim przypadku możesz użyć następującego przykładu kodu.
#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;
}