gmtime、_gmtime32、_gmtime64gmtime, _gmtime32, _gmtime64

変換をtime_t時刻の値をtm構造体。Converts a time_t time value to a tm structure. これらの関数のセキュリティを強化したバージョンを使用できます。「gmtime_s、_gmtime32_s、_gmtime64_s」を参照してください。More secure versions of these functions are available; see gmtime_s, _gmtime32_s, _gmtime64_s.

構文Syntax

struct tm *gmtime( const time_t *sourceTime );
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );

パラメーターParameters

sourceTimesourceTime
格納されている時刻へのポインター。Pointer to the stored time. 時刻は、世界協定時刻 (UTC: Coordinated Universal Time) の 1970 年 1 月 1 日の深夜 00:00:00 から経過した時間 (秒単位) を表します。The time is represented as seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC).

戻り値Return Value

tm 構造体へのポインター。A pointer to a structure of type tm. 返される構造体のフィールドの評価値を保持する、 sourceTime現地時刻ではなく UTC での引数。The fields of the returned structure hold the evaluated value of the sourceTime argument in UTC rather than in local time. 型の構造体のフィールドの各はint、次のようにします。Each of the structure fields is of type int, as follows:

フィールドField 説明Description
tm_sectm_sec 秒 (0 - 59)。Seconds after minute (0 - 59).
tm_mintm_min 分 (0 - 59)。Minutes after hour (0 - 59).
tm_hourtm_hour 午前 0 時からの経過時間 (0 - 23)。Hours since midnight (0 - 23).
tm_mdaytm_mday (1 ~ 31) の月の日。Day of month (1 - 31).
tm_montm_mon 月 (0 - 11年 1 月 = 0 です)。Month (0 - 11; January = 0).
tm_yeartm_year 年 (実際の西暦から 1900 を引いた数)Year (current year minus 1900).
tm_wdaytm_wday 週の曜日 (0 ~ 6 です。日曜日 = 0)。Day of week (0 - 6; Sunday = 0).
tm_ydaytm_yday 年の通算日 (0 - 365;1 月 1 日 = 0)。Day of year (0 - 365; January 1 = 0).
tm_isdsttm_isdst 常に 0 のgmtimeします。Always 0 for gmtime.

32 ビットおよび 64 ビット バージョンの両方gmtimemktimemkgmtime、およびlocaltimeすべてを使用して、1 つの一般的なtm変換スレッドごとの構造体。Both the 32-bit and 64-bit versions of gmtime, mktime, mkgmtime, and localtime all use one common tm structure per thread for the conversion. これらの関数を呼び出すたびに、前の呼び出しの結果は破棄されます。Each call to one of these functions destroys the result of any previous call. 場合sourceTime午前 0 時、1970 年 1 月 1 日より前に、の日付を表すgmtime返しますNULLします。If sourceTime represents a date before midnight, January 1, 1970, gmtime returns NULL. エラーの戻り値はありません。There is no error return.

_gmtime64、使用、 _ _time64_t構造体を有効日を UTC では、3000 年 12 月 31 日 23時 59分: 59 秒を表現するには _gmtime32しか 23時 59分: 59 秒までの日付を表すUTC の 2038 年 1 月 18 日です。_gmtime64, which uses the __time64_t structure, enables dates to be expressed up through 23:59:59, December 31, 3000, UTC, whereas _gmtime32 only represent dates through 23:59:59 January 18, 2038, UTC. これらの関数の日付範囲の下限は、どちらも 1970 年 1 月 1 日の午前 0 時です。Midnight, January 1, 1970, is the lower bound of the date range for both functions.

gmtimeに評価されるインライン関数は、 _gmtime64、およびtime_tと等価 _ _time64_tしない限り、 _USE_32BIT_TIME_Tが定義されています。gmtime is an inline function that evaluates to _gmtime64, and time_t is equivalent to __time64_t unless _USE_32BIT_TIME_T is defined. 解釈するコンパイラを強制する必要がある場合time_t古い 32 ビットとしてtime_t、定義することができます _USE_32BIT_TIME_T、そのため、 gmtimeをインラインにする _gmtime32time_tとして定義される _ _time32_tします。If you must force the compiler to interpret time_t as the old 32-bit time_t, you can define _USE_32BIT_TIME_T, but doing so causes gmtime to be in-lined to _gmtime32 and time_t to be defined as __time32_t. この方法は使用しないことをお勧めします。これは 64 ビット プラットフォームでは使用できず、また 2038 年 1 月 18 日以降はアプリケーションでエラーが発生する可能性があるためです。We recommend that you do not do this, because it is not allowed on 64-bit platforms and in any case your application may fail after January 18, 2038.

これらの関数では、パラメーターの検証が行われます。These functions validate their parameters. 場合sourceTimeが null ポインターの場合は、 sourceTime値が負の値、」の説明に従って、これらの関数は、無効なパラメーター ハンドラーを呼び出しますパラメーターの検証.If sourceTime is a null pointer, or if the sourceTime value is negative, these functions invoke an invalid parameter handler, as described in Parameter Validation. 関数を返すかどうかは、引き続き実行が許可された、 NULL設定とerrnoEINVALします。If execution is allowed to continue, the functions return NULL and set errno to EINVAL.

RemarksRemarks

_Gmtime32関数、 sourceTime値し、型の静的に割り当てられた構造体に格納tm時間内に定義されている。H.The _gmtime32 function breaks down the sourceTime value and stores it in a statically allocated structure of type tm, defined in TIME.H. sourceTimeへの呼び出しは通常、時間関数。The value of sourceTime is typically obtained from a call to the time function.

注意

ほとんどの場合は、対象の環境で夏時間が有効かどうかを確認してください。In most cases, the target environment tries to determine whether daylight savings time is in effect. C ランタイム ライブラリでは、夏時間 (DST) の計算にアメリカ合衆国の規則が使用されていることを前提とします。The C run-time library assumes that the United States rules for implementing the calculation of Daylight Saving Time (DST) are used.

必要条件Requirements

ルーチンによって返される値Routine 必須の C ヘッダーRequired C header 必須の C++ ヘッダーRequired C++ header
gmtime_gmtime32_gmtime64gmtime, _gmtime32, _gmtime64 <time.h><time.h> <ctime > または<time.h ><ctime> or <time.h>

互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.

Example

// crt_gmtime.c
// compile with: /W3
// This program uses _gmtime64 to convert a long-
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime to
// convert this structure to an output string.

#include <time.h>
#include <stdio.h>

int main( void )
{
   struct tm *newtime;
   __int64 ltime;
   char buff[80];

   _time64( &ltime );

   // Obtain coordinated universal time:
   newtime = _gmtime64( &ltime ); // C4996
   // Note: _gmtime64 is deprecated; consider using _gmtime64_s
   asctime_s( buff, sizeof(buff), newtime );
   printf( "Coordinated universal time is %s\n", buff );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002

関連項目See also

時間管理Time Management
asctime、_wasctimeasctime, _wasctime
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_ftime、_ftime32、_ftime64_ftime, _ftime32, _ftime64
gmtime_s、_gmtime32_s、_gmtime64_sgmtime_s, _gmtime32_s, _gmtime64_s
localtime、_localtime32、_localtime64localtime, _localtime32, _localtime64
_mkgmtime、_mkgmtime32、_mkgmtime64_mkgmtime, _mkgmtime32, _mkgmtime64
mktime、_mktime32、_mktime64mktime, _mktime32, _mktime64
time、_time32、_time64time, _time32, _time64