機能 |
詳細時刻を指定した書式で文字列に変換する。 ※ 地域(LC_TIME部門)によって結果は異なる |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
定義 |
#include <time.h> size_t strftime ( char * s, size_t maxsize, const char * format, const struct tm * timeptr ); ※C99規格では以下の定義となる size_t strftime ( char * restrict s, size_t maxsize, const char * restrict format, const struct tm * restrict timeptr ); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
引数 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
戻り値 |
変換した結果の文字数を返す。 失敗した場合は 0 を返す。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
実装例 |
#include <time.h> #include <locale.h> #include <stdio.h> int main(void) { time_t t; struct tm *tp; char s[256]; size_t len; /* ロケールを日本に設定 */ printf("locale=%s\n", setlocale(LC_TIME, "Japanese")); /* 現在の暦時刻を取得 */ time(&t); printf("t=%ld\n\n", t); /* 詳細時刻に変換 */ tp = localtime(&t); /* 文字列に変換 */ len = strftime(s, sizeof(s), "%%a=%a\n" "%%A=%A\n" "%%b=%b\n" "%%B=%B\n" "%%c=%c\n" "%%d=%d\n" "%%H=%H\n" "%%I=%I\n" "%%j=%j\n" "%%m=%m\n" "%%M=%M\n" "%%p=%p\n" "%%S=%S\n" "%%U=%U\n" "%%w=%w\n" "%%W=%W\n" "%%x=%x\n" "%%X=%X\n" "%%y=%y\n" "%%Y=%Y\n" "%%Z=%Z\n" "%%%%=%%\n" ,tp ); /* 画面に表示 */ printf("len=%d\n", len); printf("%s\n", s); return 0; } |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
実行結果 |
locale=Japanese_Japan.932 t=1399045793 len=179 %a=土 %A=土曜日 %b=5 %B=5月 %c=2014/05/03 0:49:53 %d=03 %H=00 %I=12 %j=123 %m=05 %M=49 %p=午前 %S=53 %U=17 %w=6 %W=17 %x=2014/05/03 %X=0:49:53 %y=14 %Y=2014 %Z=東京 (標準時) %%=% |
strftime()