次の方法で共有


asctime、_wasctime

更新 : 2007 年 11 月

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 値は gmtime または localtime を呼び出すことで取得します。どちらも、TIME.H で定義される tm 構造体へのポインタを返します。

timeptr のメンバ

tm_hour

時 (0 ~ 23)。

tm_isdst

夏時間が有効な場合は正、夏時間が有効でない場合は 0、夏時間の状態が不明の場合は負。C ランタイム ライブラリは、夏時間 (DST: Daylight Saving Time) 計算の実装については米国の規則を前提としています。

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 を引いた数)。

変換された文字列は、現地のタイム ゾーンの設定に合わせて調整されます。現地時刻の設定方法については、time_ftime、および localtime の各関数に関するトピックを参照してください。タイム ゾーンの環境変数とグローバル変数の定義方法については、_tzset 関数に関するトピックを参照してください。

asctime が生成する文字列は、26 文字の Wed Jan 02 02:03:55 1980\n\0 という形式になります。時刻は 24 時間制です。すべてのフィールドは固定幅です。文字列の最後尾は、改行文字と NULL 文字です。asctime は、静的に割り当てられたシングル バッファに文字列を保持します。この関数を呼び出すたびに、前回の呼び出し結果は破棄されます。

ワイド文字を扱う場合は、asctime ではなく _wasctime を使用します。それ以外では、_wasctimeasctime の動作は同じです。

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

汎用テキスト ルーチンのマップ

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

.NET Framework の相当するアイテム

参照

参照

時間管理

ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64

_ftime、_ftime32、_ftime64

gmtime、_gmtime32、_gmtime64

localtime、_localtime32、_localtime64

time、_time32、_time64

_tzset

asctime_s、_wasctime_s