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) を計算します。 |
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