サーチ…


前書き

DateTime::UniversalTimeのドキュメントは、次のように書かれています。

"グレゴリオ暦によると、1601年1月1日の深夜またはそれ以降の100ナノ秒間隔の数として特定の時点を表す64ビット符号付き整数。

これは、Win32 FILETIME構造体と同じです。これは、100ナノ秒のlong long値に変換し、 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