次の方法で共有


WinHttpTimeFromSystemTime 関数 (winhttp.h)

WinHttpTimeFromSystemTime 関数は、HTTP バージョン 1.0 の仕様に従って日付と時刻を書式設定します。

構文

WINHTTPAPI BOOL WinHttpTimeFromSystemTime(
  [in]  const SYSTEMTIME *pst,
  [out] LPWSTR           pwszTime
);

パラメーター

[in] pst

書式設定する日付と時刻を含む SYSTEMTIME 構造体へのポインター。

[out] pwszTime

書式設定された日時を受け取る文字列バッファーへのポインター。 バッファーは、WINHTTP_TIME_FORMAT_BUFSIZEのサイズ (バイト単位) と等しい必要があります。

戻り値

成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 エラー コードには、次のようなものがあります。

エラー コード 説明
ERROR_WINHTTP_INTERNAL_ERROR
内部エラーが発生しました。

解説

WinHTTP が非同期モードで使用されている場合 (つまり、WinHttpOpenWINHTTP_FLAG_ASYNCが設定されている場合) でも、この関数は同期的に動作します。 戻り値は成功または失敗を示します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

メモ Windows XP と Windows 2000 については、「WinHTTP スタート ページ」 の「ランタイム要件 」セクションを参照してください。
 

次のコード例のコードは、 SYSTEMTIME 構造体を HTTP 形式の時刻を含む文字列に変換する方法を示しています。

    SYSTEMTIME  sTime;
    LPWSTR      pwszTimeStr;

    // Get the current time.
    GetSystemTime(&sTime);

    // Allocate memory for the string.
    // Note: WINHTTP_TIME_FORMAT_BUFSIZE is a byte count.
    //       Therefore, you must divide the array by
    //       sizeof WCHAR to get the proper string length.
    pwszTimeStr = new WCHAR[WINHTTP_TIME_FORMAT_BUFSIZE/sizeof(WCHAR)];

    // Convert the current time to HTTP format.
    if(!WinHttpTimeFromSystemTime( &sTime, pwszTimeStr))
    {
        printf( "Error %u in WinHttpTimeFromSystemTime.\n", GetLastError());
    }
    else
    {
        // Print the time.
        printf("Current time is (%S)\n", pwszTimeStr);
    }

    // Free the memory.
    delete [] pwszTimeStr;

要件

   
サポートされている最小のクライアント Windows XP、Windows 2000 Professional SP3 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003、Windows 2000 Server SP3 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winhttp.h
Library Winhttp.lib
[DLL] Winhttp.dll
再頒布可能パッケージ Windows XP および Windows 2000 では、WinHTTP 5.0 およびインターネット エクスプローラー 5.01 以降がインストールされています。

関連項目

Microsoft Windows HTTP Services (WinHTTP) について

WinHTTP バージョン

WinHttpTimeToSystemTime