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 を使用します。それ以外では、_wasctime と asctime の動作は同じです。
これらの関数では、パラメータの検証が行われます。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