時間管理
以下の関数を使用すると、現在の時刻を取得して、必要に応じて変換、調整、保存を行うことができます。 現在の時刻とはシステム時刻のことです。
_ftime
および localtime
ルーチンでは TZ
環境変数が使用されます。 TZ
が設定されていない場合、ランタイム ライブラリはオペレーティング システムで指定されるタイム ゾーン情報を使用します。 この情報が使用できないとき、これらの関数では既定値 PST8PDT が使用されます。 TZ
の詳細については、_tzset
および _daylight
、timezone
、_tzname
を参照してください。
時間ルーチン
機能 | 使用 |
---|---|
asctime 、 _wasctime 、 asctime_s 、 _wasctime_s |
時刻を struct tm 型から文字列に変換します。 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
clock |
プロセスの実際の経過時間を返します。 |
ctime 、 _ctime32 、 _ctime64 、 _wctime 、 _wctime32 、 _wctime64 、 _ctime_s 、 _ctime32_s 、 _ctime64_s 、 _wctime_s 、 _wctime32_s 、 _wctime64_s |
時刻を time_t 型、 __time32_t 型、または __time64_t 型から文字列に変換します。 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
difftime 、 _difftime32 、 _difftime64 |
2 つの時刻の差を計算します。 |
_ftime , _ftime32 , _ftime64 ,_ftime_s , _ftime32_s , _ftime64_s |
struct _timeb 型または struct __timeb64 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
_futime 、 _futime32 、 _futime64 |
開いているファイルの変更時刻を設定します。 |
gmtime 、 _gmtime32 、 _gmtime64 、 gmtime_s 、 _gmtime32_s 、 _gmtime64_s |
時刻を time_t 型から struct tm に変換するか、__time64_t 型から struct tm に変換します。 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
localtime 、 _localtime32 、 _localtime64 、 localtime_s 、 _localtime32_s 、 _localtime64_s |
時刻を time_t 型から struct tm に変換するか、__time64_t 型からローカル時刻に修正した struct tm に変換します。 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
_mkgmtime 、 _mkgmtime32 、 _mkgmtime64 |
時刻をグリニッジ標準時のカレンダーの値に変換します。 |
mktime 、 _mktime32 、 _mktime64 |
時刻をカレンダーの値に変換します。 |
_strdate 、 _wstrdate 、 _strdate_s 、 _wstrdate_s |
現在のシステム日付を文字列として返します。 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
strftime 、 wcsftime 、 _strftime_l 、 _wcsftime_l |
国際対応するように日付と時刻の文字列の書式を設定します。 |
_strtime 、 _wstrtime 、 _strtime_s 、 _wstrtime_s |
現在のシステム時刻を文字列として返します。 これらの関数のうち、 _s サフィックスの付いているバージョンがより安全です。 |
time 、 _time32 、 _time64 |
time_t 型、 __time32_t 型、または __time64_t 型で、現在のシステム時刻を取得します。 |
_tzset |
時刻の環境変数 TZ で時刻の外部変数を設定します。 |
_utime 、 _utime32 、 _utime64 、 _wutime 、 _wutime32 、 _wutime64 |
現在の時刻または構造体に格納された時刻の値を使用して、指定されたファイルの変更時刻を設定します。 |
Note
Microsoft C/C++ バージョン 7.0 を除くすべてのバージョンの Microsoft C/C++ と、すべてのバージョンの Visual C++ で、時刻の関数は、現在の時刻を 1970 年 1 月 1 日の午前 0 時から経過した秒数として返します。 Microsoft C/C++ バージョン 7.0 では、 time
は、現在の時刻を 1899 年 12 月 31 日の午前 0 時から経過した秒数として返していました。
Note
Visual Studio 2005 より前の Visual C++ および Microsoft C/C++ のバージョンでは、time_t
は long int
(32 ビット) であったため、2038 年 1 月 19 日 3 時 14 分 07 秒 (UTC) を超えた日付には使用できませんでした。 現在、time_t
は既定で __time64_t
と同じです。ただし、 _USE_32BIT_TIME_T
を定義すると、 time_t
は __time32_t
and forces many time functions は call versions that take the 32-bit time_t
を取得するバージョンを呼び出すために時刻の関数が多数必要になります。 詳細については、 標準型 および個々の時間関数のドキュメント内のコメントを参照してください。