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
値は通常、gmtime
またはlocaltime
の呼び出しから取得されます。この両方は、TIME.H で定義されたtm
構造体へのポインターを返します。
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 を引いた数) |
ローカル時刻の構成については、 time
、 _ftime
、および localtime
関数を参照してください。 タイム ゾーン環境とグローバル変数の定義については、 _tzset
関数を参照してください。
asctime
によって生成される文字列には、26 文字が含まれ、Wed Jan 2 02:03:55 1980\n\0
の形式となります。 24 時間制が使用されます。 すべてのフィールドには一定の幅があります。 文字列の最後の 2 つの位置には、改行文字と null 文字が入ります。 asctime
は、静的に割り当てられた単一のバッファーを使って戻り値の文字列を保持します。 この関数を呼び出すたびに、前の呼び出しの結果は破棄されます。
_wasctime
は asctime
のワイド文字バージョンであり、それ以外の場合は asctime
と同じように動作します。
これらの関数では、パラメーターの検証が行われます。 timeptr
が null ポインターの場合、または範囲外の値が含まれている場合は、「パラメーター検証で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、関数は NULL
を返し、errno
を EINVAL
に設定します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「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