時間管理Time Management

以下の関数を使用すると、現在の時刻を取得して、必要に応じて変換、調整、保存を行うことができます。Use these functions to get the current time and convert, adjust, and store it as necessary. 現在の時刻とはシステム時刻のことです。The current time is the system time.

_ftime および localtime ルーチンでは TZ 環境変数が使用されます。The _ftime and localtime routines use the TZ environment variable. TZ が設定されていない場合、ランタイム ライブラリはオペレーティング システムで指定されるタイム ゾーン情報を使用します。If TZ is not set, the run-time library attempts to use the time-zone information specified by the operating system. この情報が使用できないとき、これらの関数では既定値 PST8PDT が使用されます。If this information is unavailable, these functions use the default value of PST8PDT. TZ の詳細については、「_tzset」のほか、「_daylight、timezone、および _tzname」も参照してください。For more information on TZ, see _tzset; also see _daylight, timezone, and _tzname.

時間のルーチンTime Routines

関数Function 使用Use
asctime, _wasctime, asctime_s, _wasctime_sasctime, _wasctime, asctime_s, _wasctime_s 時刻を struct tm 型から文字列に変換します。Convert time from type struct tm to character string. これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。The versions of these functions with the _s suffix are more secure.
clockclock プロセスの実際の経過時間を返します。Return elapsed wall-clock time for process.
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64_ctime_s、_ctime32_s、_ctime64_s、_wctime_s、_wctime32_s、_wctime64_sctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64, _ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s 時刻を time_t 型、 __time32_t 型、または __time64_t 型から文字列に変換します。Convert time from type time_t, __time32_t or __time64_t to character string. これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。The versions of these functions with the _s suffix are more secure.
difftime、_difftime32、_difftime64difftime, _difftime32, _difftime64 2 つの時刻の差を計算します。Compute difference between two times.
_ftime, _ftime32, _ftime64_ftime_s, _ftime32_s, _ftime64_s_ftime, _ftime32, _ftime64,_ftime_s, _ftime32_s, _ftime64_s struct _timeb 型または struct __timeb64 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。Store current system time in variable of type struct _timeb or type struct __timeb64 The versions of these functions with the _s suffix are more secure.
_futime、_futime32、_futime64_futime, _futime32, _futime64 開いているファイルの変更時刻を設定します。Set modification time on open file
gmtime、_gmtime32、_gmtime64gmtime_s、_gmtime32_s、_gmtime64_sgmtime, _gmtime32, _gmtime64, gmtime_s, _gmtime32_s, _gmtime64_s 時刻を time_t 型から struct tm に変換するか、 __time64_t 型から struct tm に変換します。これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。Convert time from type time_t to struct tm or from type __time64_t to struct tm.The versions of these functions with the _s suffix are more secure.
localtime、_localtime32、_localtime64localtime_s、_localtime32_s、_localtime64_slocaltime, _localtime32, _localtime64, localtime_s, _localtime32_s, _localtime64_s 時刻を time_t 型から struct tm に変換するか、 __time64_t 型からローカル時刻に修正した struct tm に変換します。Convert time from type time_t to struct tm or from type __time64_t to struct tm with local correction. これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。The versions of these functions with the _s suffix are more secure.
_mkgmtime、_mkgmtime32、_mkgmtime64_mkgmtime, _mkgmtime32, _mkgmtime64 時刻をグリニッジ標準時のカレンダーの値に変換します。Convert time to calendar value in Greenwich Mean Time.
mktime、_mktime32、_mktime64mktime, _mktime32, _mktime64 時刻をカレンダーの値に変換します。Convert time to calendar value.
_strdate, _wstrdate, _strdate_s, _wstrdate_s_strdate, _wstrdate, _strdate_s, _wstrdate_s 現在のシステム日付を文字列として返します。Return current system date as string. これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。The versions of these functions with the _s suffix are more secure.
strftime、wcsftime、_strftime_l、_wcsftime_lstrftime, wcsftime, _strftime_l, _wcsftime_l 国際対応するように日付と時刻の文字列の書式を設定します。Format date-and-time string for international use.
_strtime, _wstrtime_strtime_s、_wstrtime_s_strtime, _wstrtime, _strtime_s, _wstrtime_s 現在のシステム時刻を文字列として返します。Return current system time as string. これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。The versions of these functions with the _s suffix are more secure.
time、_time32、_time64time, _time32, _time64 time_t 型、 __time32_t 型、または __time64_t 型で、現在のシステム時刻を取得します。Get current system time as type time_t, __time32_t or as type __time64_t.
_tzset_tzset 時刻の環境変数 TZ で時刻の外部変数を設定します。Set external time variables from environment time variable TZ.
_utime、_utime32、_utime64、_wutime、_wutime32、_wutime64_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64 現在の時刻または構造体に格納された時刻の値を使用して、指定されたファイルの変更時刻を設定します。Set modification time for specified file using either current time or time value stored in structure.

注意

Microsoft C/C++ バージョン 7.0 を除くすべてのバージョンの Microsoft C/C++ と、すべてのバージョンの Visual C++ で、時刻の関数は、現在の時刻を 1970 年 1 月 1 日の午前 0 時から経過した秒数として返します。In all versions of Microsoft C/C++ except Microsoft C/C++ version 7.0, and in all versions of Visual C++, the time function returns the current time as the number of seconds elapsed since midnight on January 1, 1970. Microsoft C/C++ バージョン 7.0 では、time は、現在の時刻を 1899 年 12 月 31 日の午前 0 時から経過した秒数として返していました。In Microsoft C/C++ version 7.0, time returned the current time as the number of seconds elapsed since midnight on December 31, 1899.

注意

Visual Studio 2005 より前の Visual C++ および Microsoft C/C++ のバージョンでは、time_tlong int (32 ビット) であったため、2038 年 1 月 19 日 3 時 14 分 07 秒 (UTC) を超えた日付には使用できませんでした。In versions of Visual C++ and Microsoft C/C++ before Visual Studio 2005, time_t was a long int (32 bits) and hence could not be used for dates past 3:14:07 January 19, 2038, UTC. 現在、既定で time_t__time64_t と同じです。ただし、 _USE_32BIT_TIME_T を定義すると、time_t__time32_t に変更され、多くの時刻関数は強制的に 32 ビットの time_t を取得するバージョンを呼び出すことになります。time_t is now equivalent to __time64_t by default, but defining _USE_32BIT_TIME_T changes time_t to __time32_t and forces many time functions to call versions that take the 32-bit time_t. 詳細については、「基本データ型」のほか、それぞれの時刻関数に関するドキュメントのコメントを参照してください。For more information, see Standard Types and comments in the documentation for the individual time functions.

関連項目See also

カテゴリ別ユニバーサル C ランタイム ルーチンUniversal C runtime routines by category