asctime, _wasctime

tm 時間構造体を文字列に変換します。 これらの関数のセキュリティを強化したバージョンを使用できます。「asctime_s_wasctime_s」を参照してください。

構文

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

パラメーター

timeptr
時刻/日付の構造体。

戻り値

asctime は文字列結果へのポインターを返し、_wasctime はワイド文字結果へのポインターを返します。 エラーの戻り値はありません。

解説

これらの関数のセキュリティを強化したバージョンを使用できます。「asctime_s_wasctime_s」を参照してください。

asctime 関数は、構造体として格納されている時間を文字列に変換します。 この値はtimeptr通常、TIME.H で定義された構造体へのtmポインターをgmtime返す呼び出しまたはlocaltime呼び出しから取得されます。

timeptr のメンバー Value
tm_hour 時 (0 から 23)
tm_isdst 夏時間が有効な場合は正。夏時間が有効でない場合は 0。夏時間の状態が不明な場合は負の値です。 C ランタイム ライブラリでは、アメリカ合衆国の規則を前提に夏時間 (DST) を計算します。
tm_mday 月の日 (1 から 31)
tm_min 分 (0 - 59)
tm_mon 月 (0 - 11、1 月 = 0)
tm_sec 秒 (0 - 59)
tm_wday 曜日 (0 - 6、日曜日 = 0)
tm_yday 年内の通算日 (0 から 365、1 月 1 日 = 0)
tm_year 年 (実際の西暦から 1900 を引いた数)

ローカル時刻の構成の詳細については、,,およびlocaltime関数をtime_ftime参照してください。 タイム ゾーン環境とグローバル変数の定義については、関数を _tzset 参照してください。

asctime によって生成される文字列には、26 文字が含まれ、Wed Jan 2 02:03:55 1980\n\0 の形式となります。 24 時間制が使用されます。 すべてのフィールドには一定の幅があります。 文字列の最後の 2 つの位置には、改行文字と null 文字が入ります。 asctime は、静的に割り当てられた単一のバッファーを使って戻り値の文字列を保持します。 この関数を呼び出すたびに、前の呼び出しの結果は破棄されます。

_wasctime はワイド文字バージョンであり、それ以外の asctime場合 asctimeは .

これらの関数では、パラメーターの検証が行われます。 null ポインターの場合、または範囲外の値が含まれている場合timeptrは、「パラメーターの検証」の説明に従って無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、関数は NULL を返し、errnoEINVAL に設定します。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください

汎用テキスト ルーチン マッピング

TCHAR.H ルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_tasctime asctime asctime _wasctime

必要条件

ルーチンによって返される値 必須ヘッダー
asctime <time.h>
_wasctime <time.h> または <wchar.h>

このプログラムは、システム時間を長整数 aclockに配置し、それを構造体 newtimeに変換し、関数を使用して出力用の文字列形式に asctime 変換します。

// 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  3 11:38:58 2002

関連項目

時間管理
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64
_tzset
asctime_s, _wasctime_s