次の方法で共有


RtlTimeToSecondsSince1970 関数 (winternl.h)

[RtlTimeToSecondsSince1970 は、Windows 2000 および Windows XP で使用できます。 以降のリリースでは使用できないか、変更される可能性があります。]

指定した 64 ビット システム時刻を、1970 年 1 月 1 日以降の秒数に変換します。

構文

BOOLEAN RtlTimeToSecondsSince1970(
  [in]  PLARGE_INTEGER Time,
  [out] PULONG         ElapsedSeconds
);

パラメーター

[in] Time

システム時刻を指定する LARGE_INTEGER 構造体へのポインター。 この値の有効な年は、1970 ~ 2105 です。

[out] ElapsedSeconds

秒数を受け取る変数へのポインター。

戻り値

関数が成功すると、 TRUE が返されます。 失敗した場合は、 FALSE を返します。 通常、 Time パラメーターの指定された値がパラメーターの説明で指定された有効な期間内にない場合、この関数は失敗します。

注釈

この関数には、インポート ライブラリが関連付けされません。 LoadLibrary 関数と GetProcAddress 関数を使用して、Ntdll.dll に動的にリンクする必要があります。

同等のパブリック関数は 1 つもありません。 パブリック関数を使用してこのタスクを実行するには、次の手順を使用します。

  1. SystemTimeToFileTime を呼び出して、システム時刻を FILETIME 構造体にコピーします。 GetSystemTime を呼び出して、SystemTimeToFileTime に渡す現在のシステム時刻を取得します。
  2. FILETIME 構造体の内容をULARGE_INTEGER構造体にコピーします。
  3. 1970 年 1 月 1 日の最初の 2 番目の日付と時刻を使用して SYSTEMTIME 構造体を初期化します。
  4. SystemTimeToFileTime を呼び出し、手順 3 で初期化された SYSTEMTIME 構造体を呼び出しに渡します。
  5. 手順 4 で SystemTimeToFileTime によって返される FILETIME 構造体の内容を 2 つ目のULARGE_INTEGERにコピーします。 コピーした値は、手順 2 でコピーした値以下にする必要があります。
  6. ステップ 5 (1970 年 1 月 1 日) で初期化された ULARGE_INTEGER 構造体の 64 ビット値を、手順 2 で初期化 されたULARGE_INTEGER 構造体の 64 ビット値 (現在のシステム時刻) から減算します。 これにより、1970 年 1 月 1 日以降、100 ナノ秒間隔の値が生成されます。 この値を秒に変換するには、10,000,000 で除算します。

要件

要件
対象プラットフォーム Windows
ヘッダー winternl.h
Library ntdll.lib
[DLL] ntdll.dll

関連項目

FILETIME

SYSTEMTIME

SystemTimeToFileTime

時間関数

ULARGE_INTEGER