asctime_r() — 時間から文字ストリングへの変換 (再始動可能)
フォーマット
#include <time.h>
char *asctime_r(const struct tm *tm, char *buf);
言語レベル
XPG4
スレッド・セーフ
はい
説明
この関数は、asctime() 関数の再始動可能バージョンです。
asctime_r() 関数は、tm により指される構造体として格納された時間を、文字ストリングに変換します。tm 値は、gmtime_r()、gmtime64_r()、localtime_r()、または localtime64_r() の呼び出しから取得できます。
asctime_r() が作成するストリングの結果にはちょうど 26 文字が含まれ、以下の形式となっています。
"%.3s %.3s%3d %.2d:%.2d:%.2d %d\n"
戻されるストリングの例を以下に示します。
Sat Jul 16 02:03:55 1994\n\0
または
Sat Jul 16 2:03:55 1994\n\0
asctime_r() 関数は 24 時間クロック形式を使用します。曜日は、Sun、Mon、Tue、Wed、Thu、Fri、および Sat に省略されます。月は、Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、および Dec に省略されます。すべてのフィールドには固定幅があります。一桁しかない日付は、ゼロまたはブランク・スペースが その前に置かれます。改行文字 (\n) および NULL 文字 (\0) がストリングの最後の位置を占めます。
日時の関数は、1970 年 1 月 1 日 00:00:00 世界時から始まります。
戻り値
asctime_r() 関数は結果として生じた文字ストリングを指すポインターを戻します。 関数が正常に実行されなかった場合、NULL を戻します。
例
次の例はシステム・クロックをポーリングし、現在時刻を示すメッセージを出力します。
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm *newtime;
time_t ltime;
char mybuf[50];
/* Get the time in seconds */
time(<ime);
/* Convert it to the structure tm */
newtime = localtime_r(<ime());
/* Print the local time as a string */
printf("The current date and time are %s",
asctime_r(newtime, mybuf));
}
/**************** Output should be similar to ******************
The current date and time are Fri Sep 16 132951 1994
*/
関連情報
- asctime() — 時間から文字ストリングへの変換
- ctime() — 時間から文字ストリングへの変換
- ctime64() — 時間から文字ストリングへの変換
- ctime64_r() — 時間から文字ストリングへの変換 (再始動可能)
- ctime_r() — 時間から文字ストリングへの変換 (再始動可能)
- gmtime() — 時間の変換
- gmtime64() — 時間の変換
- gmtime64_r() — 時間の変換 (再始動可能)
- gmtime_r() — 時間の変換 (再始動可能)
- localtime() — 時間の変換
- localtime64() — 時間の変換
- localtime64_r() — 時間の変換 (再始動可能)
- localtime_r() — 時間の変換 (再始動可能)
- mktime() — 地方時の変換
- mktime64() — 地方時の変換
- strftime() — 日付/時刻からストリングへの変換
- time() — 現在時刻の判別
- printf() — 定様式の文字の出力
- <time.h>