Recherche…


Introduction

La documentation du DateTime::UniversalTime indique:

"Un entier signé de 64 bits qui représente un point dans le temps comme le nombre d'intervalles de 100 nanosecondes avant ou après minuit le 1er janvier 1601 (selon le calendrier grégorien)."

Ceci est identique à la FILETIME Win32 FILETIME que vous devez convertir en une valeur longue de 100 nanosecondes et la définir dans le champ DateTime::UniversalTime .

GetCurrentDateTime ()

#include <windows.h>

static Windows::Foundation::DateTime GetCurrentDateTime() {
    // Get the current system time
    SYSTEMTIME st;
    GetSystemTime(&st);

    // Convert it to something DateTime will understand
    FILETIME ft;
    SystemTimeToFileTime(&st, &ft);

    // Conversion to DateTime's long long is done vie ULARGE_INTEGER
    ULARGE_INTEGER ui;
    ui.LowPart = ft.dwLowDateTime;
    ui.HighPart = ft.dwHighDateTime;

    DateTime currentDateTime;
    currentDateTime.UniversalTime = ui.QuadPart;
    return currentDateTime;
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow