asctime, asctime_s
|
ヘッダーで定義
<time.h>
|
||
| (1) | ||
|
char
*
asctime
(
const
struct
tm
*
time_ptr
)
;
|
(C23まで) | |
|
[
[
deprecated
]
]
char
*
asctime
(
const
struct
tm
*
time_ptr
)
;
|
(C23から) | |
|
errno_t asctime_s
(
char
*
buf, rsize_t bufsz,
const
struct
tm
*
time_ptr
)
;
|
(2) | (C11から) |
-
Www- time_ptr - > tm_wday から取得した3文字の英語略記曜日(Mon、Tue、Wed、Thu、Fri、Sat、Sunのいずれか) -
Mmm- time_ptr - > tm_mon から取得した3文字の英語略記月名(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Decのいずれか) -
dd- timeptr - > tm_mday から取得した2桁の日付( sprintf で % 2d を使用して出力した場合と同様) -
hh- timeptr - > tm_hour から取得した2桁の時間( sprintf で % .2d を使用して出力した場合と同様) -
mm- timeptr - > tm_min から取得した2桁の分( sprintf で % .2d を使用して出力した場合と同様) -
ss- timeptr - > tm_sec から取得した2桁の秒( sprintf で % .2d を使用して出力した場合と同様) -
yyyy- timeptr - > tm_year + 1900 から取得した4桁の年( sprintf で % 4d を使用して出力した場合と同様)
|
この関数は非推奨であり、新しいコードでは使用すべきではありません。
|
(since C23) |
-
- buf または time_ptr がnullポインタである
- bufsz が26未満または RSIZE_MAX を超えている
- * time_ptr のすべてのメンバーが正常範囲内にない
- time_ptr - > tm_year で示される年が0未満または9999を超えている
-
すべての境界チェック付き関数と同様に、
asctime_sは、実装によって __STDC_LIB_EXT1__ が定義され、かつユーザーが <time.h> をインクルードする前に __STDC_WANT_LIB_EXT1__ を整数定数 1 に定義した場合にのみ利用可能であることが保証される。
目次 |
パラメータ
| time_ptr | - | 時間を指定する tm オブジェクトへのポインタ |
| buf | - | 少なくとも26バイトの長さを持つユーザー提供バッファへのポインタ |
| bufsz | - | ユーザー提供バッファのサイズ |
戻り値
asctime
と
ctime
の間で共有される可能性があり、これらの関数のいずれかが呼び出されるたびに上書きされる可能性があります。
注記
asctime
は静的データへのポインタを返し、スレッドセーフではありません。POSIXはこの関数を廃止予定とマークし、代わりに
strftime
の使用を推奨しています。C標準も
asctime
および
asctime_s
の代わりに
strftime
を推奨しています。これは
strftime
がより柔軟でロケール対応であるためです。
POSIXは未定義動作を、出力文字列が25文字を超える場合、 timeptr - > tm_wday または timeptr - > tm_mon が期待される範囲内にない場合、あるいは timeptr - > tm_year が INT_MAX - 1990 を超える場合にのみ限定しています。
一部の実装では timeptr - > tm_mday == 0 を前月の最終日を意味するものとして扱います。
例
出力例:
Tue May 26 21:51:50 2015 Tue May 26 21:51:50 2015
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.27.2.1 asctime関数 (p: 287)
-
- K.3.8.2.1 asctime_s関数 (p: 453-454)
- C11標準 (ISO/IEC 9899:2011):
-
- 7.27.2.1 asctime関数 (p: 392-393)
-
- K.3.8.2.1 asctime_s関数 (p: 624-625)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.23.3.1 asctime関数 (p: 341-342)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 4.12.3.1 asctime関数
関連項目
|
(C23で非推奨)
(C11)
|
time_t
オブジェクトをテキスト表現に変換する
(関数) |
|
tm
オブジェクトをカスタムテキスト表現に変換する
(関数) |
|
|
C++ドキュメント
for
asctime
|
|