asctime、_wasctimeasctime, _wasctime

変換をtm時間を文字の文字列の構造。Convert a tm time structure to a character string. これらの関数のセキュリティを強化したバージョンを使用できます。「asctime_s、_wasctime_s」を参照してください。More secure versions of these functions are available; see asctime_s, _wasctime_s.


char *asctime(
   const struct tm *timeptr
wchar_t *_wasctime(
   const struct tm *timeptr


時刻/日付の構造体。Time/date structure.

戻り値Return Value

asctime ; 文字列結果へのポインターを返します _wasctimeワイド文字の文字列結果へのポインターを返します。asctime returns a pointer to the character string result; _wasctime returns a pointer to the wide-character string result. エラーの戻り値はありません。There is no error return value.


これらの関数のセキュリティを強化したバージョンを使用できます。「asctime_s、_wasctime_s」を参照してください。More secure versions of these functions are available; see asctime_s, _wasctime_s.

Asctime関数が文字の文字列を構造体として格納されている時間に変換します。The asctime function converts a time stored as a structure to a character string. Timeptr値は、通常への呼び出しから取得gmtimeまたはlocaltimeへのポインターを返す、 tm構造体定義されている時間です。H.The timeptr value is usually obtained from a call to gmtime or localtime, which both return a pointer to a tm structure, defined in TIME.H.

timeptr メンバーtimeptr member [値]Value
tm_hourtm_hour 時間午前 0 時 (0 ~ 23) 以降Hours since midnight (0-23)
tm_isdsttm_isdst 夏時間が有効な場合は正、夏時間が無効な場合は 0、夏時間かどうかが不明な場合は負。Positive if daylight saving time is in effect; 0 if daylight saving time is not in effect; negative if status of daylight saving time is unknown. C ランタイム ライブラリでは、アメリカ合衆国の規則を前提に夏時間 (DST) を計算します。The C run-time library assumes the United States' rules for implementing the calculation of Daylight Saving Time (DST).
tm_mdaytm_mday (1 ~ 31) の月の日Day of month (1-31)
tm_mintm_min 分 (0 ~ 59)Minutes after hour (0-59)
tm_montm_mon 月 (0 ~ 11。年 1 月 = 0 です)Month (0-11; January = 0)
tm_sectm_sec 秒 (0 ~ 59)Seconds after minute (0-59)
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_yeartm_year 年 (実際の西暦から 1900 を引いた数)Year (current year minus 1900)

変換された文字列も、ローカル タイム ゾーンの設定に従って調整されます。The converted character string is also adjusted according to the local time zone settings. ローカル タイムの設定の詳細については、time_ftime、および localtime の関数を参照してください。また、タイム ゾーン環境とグローバル変数の定義の詳細については、_tzset 関数を参照してください。For information about configuring the local time, see the time, _ftime, and localtime functions and the _tzset function for information about defining the time zone environment and global variables.

によって生成される文字列asctimeには、26 文字が含まれていて、フォームWed Jan 02 02:03:55 1980\n\0します。The string result produced by asctime contains exactly 26 characters and has the form Wed Jan 02 02:03:55 1980\n\0. 24 時間制が使用されます。A 24-hour clock is used. すべてのフィールドには一定の幅があります。All fields have a constant width. 文字列の最後の 2 つの位置には、改行文字と null 文字が入ります。The newline character and the null character occupy the last two positions of the string. asctime戻り値の文字列を保持するために、静的に割り当てられた 1 つのバッファーを使用します。asctime uses a single, statically allocated buffer to hold the return string. この関数を呼び出すたびに、前の呼び出しの結果は破棄されます。Each call to this function destroys the result of the previous call.

_wasctimeのワイド文字バージョンは、 asctimeします。_wasctime is a wide-character version of asctime. _wasctimeasctime動作は同じです。_wasctime and asctime behave identically otherwise.

これらの関数では、パラメーターの検証が行われます。These functions validate their parameters. 場合timeptr null ポインター、または範囲外の値がある場合、無効なパラメーター ハンドラーが呼び出される」の説明に従ってパラメーターの検証です。If timeptr is a null pointer, or if it contains out-of-range values, the invalid parameter handler is invoked, as described in Parameter Validation. かどうかは、引き続き実行が許可された、関数を返しますNULL設定とerrnoEINVALします。If execution is allowed to continue, the function returns NULL and sets errno to EINVAL.

汎用テキスト ルーチンのマップGeneric-Text Routine Mapping

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tasctime_tasctime asctimeasctime asctimeasctime _wasctime_wasctime


ルーチンによって返される値Routine 必須ヘッダーRequired header
asctimeasctime <time.h><time.h>
_wasctime_wasctime <time.h> または <wchar.h><time.h> or <wchar.h>


このプログラムは長整数型のシステム時刻を配置時計、構造体に変換しますnewtimeに変換用の文字列形式を使用して出力して、 asctime関数。This program places the system time in the long integer aclock, translates it into the structure newtime and then converts it to string form for output, using the asctime function.

// crt_asctime.c
// compile with: /W3

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

int main( void )
    struct tm   *newTime;
    time_t      szClock;

    // Get time in seconds
    time( &szClock );

    // Convert time to struct tm form
    newTime = localtime( &szClock );

    // Print local time as a string.
    printf_s( "Current date and time: %s", asctime( newTime ) ); // C4996
    // Note: asctime is deprecated; consider using asctime_s instead
Current date and time: Sun Feb 03 11:38:58 2002

関連項目See also

時間管理Time Management
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_ftime、_ftime32、_ftime64_ftime, _ftime32, _ftime64
gmtime、_gmtime32、_gmtime64gmtime, _gmtime32, _gmtime64
localtime、_localtime32、_localtime64localtime, _localtime32, _localtime64
time、_time32、_time64time, _time32, _time64
asctime_s、_wasctime_sasctime_s, _wasctime_s