Поиск…


Вступление

В документации для DateTime::UniversalTime указано:

«64-битное целое число со знаком, которое представляет собой момент времени, равный числу 100-наносекундных интервалов до или после полуночи 1 января 1601 года (согласно Григорианскому календарю)».

Это то же самое, что и структура Win32 FILETIME которую нужно преобразовать в 100-наносекундное длинное значение и установить его в поле 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow