asctime、_wasctime
文字列に tm の時刻構造体を変換します。 これらの関数のセキュリティを強化したバージョンについては、「asctime_s、_wasctime_s」を参照してください。
char *asctime(
const struct tm *timeptr
);
wchar_t *_wasctime(
const struct tm *timeptr
);
パラメーター
- timeptr
日付/時刻構造体。
戻り値
asctime は 結果の文字列へのポインターを返します。; _wasctime はワイド文字列の結果へのポインターを返します。 エラー戻り値はありません。
解説
これらの関数のセキュリティが強化されたバージョンを使用して; _gmtime32_s、_wasctime_sを参照してください。
asctime 関数は文字列を構造体として格納されている時刻を変換します。 timeptr 値は通常、呼び出しからの両方 tm 構造体へのポインターを返す localtimeまたは TIME.H.で定義されている gmtime 取得されます。
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 月 1 日 = 0) |
tm_year |
年 (実際の西暦から 1900 を引いた数) |
変換された文字列は、現地のタイム ゾーンの設定に合わせて調整されます。 現地時間の設定の詳細については、タイム ゾーンの環境変数とグローバル変数の定義については、" 時間、_ftimeと localtime 関数と _tzset 関数を参照してください。
asctime で生成される結果の文字列は、26 文字からなる、フォーム Wed Jan 02 02:03:55 1980\n\0があります。 時刻は 24 時間制です。 すべてのフィールドは固定幅です。 改行文字と空白文字は、文字列の最後の 2 個の位置に配置されます。 asctime が 返す文字列を保持するために、一つの静的に割り当てたバッファーを使用します。 この関数を呼び出すたびに、前の呼び出しの結果は破棄されます。
_wasctime 関数は、asctime 関数のワイド文字バージョンです。 それ以外では、_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
}
同等の .NET Framework 関数
参照
関連項目
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64