ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64
時間値を文字列に変換し、現地のタイム ゾーンの設定に調整します。 これらの関数のセキュリティを強化したバージョンについては、「ctime_s、_ctime32_s、_ctime64_s、_wctime_s、_wctime32_s、_wctime64_s」を参照してください。
char *ctime(
const time_t *timer
);
char *_ctime32(
const __time32_t *timer )
;
char *_ctime64(
const __time64_t *timer )
;
wchar_t *_wctime(
const time_t *timer
);
wchar_t *_wctime32(
const __time32_t *timer
);
wchar_t *_wctime64(
const __time64_t *timer
);
パラメーター
- timer
格納されている時刻へのポインター。
戻り値
結果の文字列へのポインター。 NULL が 返されます:
time が 1970 年 1 月 1 日の世界協定時刻 (UTC: Coordinated Universal Time) の深夜午前 0 時よりも前の日付を示している場合
使用する _ctime32 または _wctime32 と time は 03:14:より後の日付を表します。1 年 1 月 07 日 19 時 2038。
使用する _ctime64 または _wctime64 と time は 23:59:より後の日付を表します。59、3000 12 年 10 月 31 日は、UTC。
ctime は _ctime64になり、time_tが __time64_tと同等のインライン関数です。 コンパイラに古い 32 ビット time_tとして time_tを解釈する必要がある場合 _USE_32BIT_TIME_Tを定義できます。 これを行うには、ctime_ctime32に評価されます。 この方法はお勧めしません。2038 年 1 月 18 日以降にアプリケーションでエラーが発生する可能性があり、64 ビット プラットフォームでは使用できないためです。
解説
ctime 関数は、文字列に格納されている time_t 値として時刻の値を変換します。 timer 値は通常、深夜 00:00 秒からの経過秒数が経過した呼び出しから返される 時間への取得、: 00)、1970 年 1 月 1 日 1 時の世界協定時刻 (UTC)。 戻り値は、26 文字からなる、次のような書式の文字列です。
Wed Jan 02 02:03:55 1980\n\0
時刻は 24 時間制です。 すべてのフィールドは固定幅です。 改行文字 (「\n」) および null 文字 (「\0」) は、文字列の最後の 2 個の位置に配置されます。
変換された文字列は、現地のタイム ゾーンの設定に合わせて調整されます。 タイム ゾーンの環境変数とグローバル変数の定義の詳細については現地時間と _tzset 関数の設定については、" time、_ftimeと localtime 関数を参照してください。
ctime の呼び出しは gmtime と localtime 関数によって使用される単一の静的に割り当てられたバッファーを変更します。 これらのルーチンを呼び出すたびに、前の呼び出しの結果は破棄されます。 ctime は asctime 関数と静的なバッファーを共有します。 したがって、ctime の呼び出しは asctime、localtime、または gmtimeへの前の呼び出しの結果は破棄されます。
ワイド文字を扱う場合は、ctime および _ctime64 ではなく、_wctime および _wctime64 を使用します。この場合、ワイド文字列へのポインターを返します。 それ以外の場合、_ctime64、_wctime、および _wctime64 の動作は ctime と同じです。
これらの関数では、パラメーターの検証が行われます。 timer が null ポインターの場合、またはタイマー値が負のの場合、これらの関数は パラメーターの検証"に説明されているように、無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、関数は NULL を返し、errno を EINVAL に設定します。
汎用テキスト ルーチンのマップ
TCHAR.H のルーチン |
_UNICODE & _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_tctime |
ctime |
ctime |
_wctime |
_tctime32 |
_ctime32 |
_ctime32 |
_wctime32 |
_tctime64 |
_ctime64 |
_ctime64 |
_wctime64 |
必要条件
ルーチン |
必須ヘッダー |
---|---|
ctime |
<time.h> |
_ctime32 |
<time.h> |
_ctime64 |
<time.h> |
_wctime |
<time.h または> wchar.h <> |
_wctime32 |
<time.h または> wchar.h <> |
_wctime64 |
<time.h または> wchar.h <> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// crt_ctime64.c
// compile with: /W3
/* This program gets the current
* time in _time64_t form, then uses ctime to
* display the time in string form.
*/
#include <time.h>
#include <stdio.h>
int main( void )
{
__time64_t ltime;
_time64( <ime );
printf( "The time is %s\n", _ctime64( <ime ) ); // C4996
// Note: _ctime64 is deprecated; consider using _ctime64_s
}
同等の .NET Framework 関数
参照
関連項目
ctime_s、_ctime32_s、_ctime64_s、_wctime_s、_wctime32_s、_wctime64_s