前回、前々回 と time.h の関数を見てきました。この記事は、その中でも一番柔軟に使用できる strftime() の使い方です。この strftime とは、string format time のことです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <stdio.h> #include <time.h> int main( void ) { struct tm *timeptr; time_t timeval; char buffer[80]; time(&timeval); timeptr = localtime(&timeval); strftime(buffer, 80, "%c\n", timeptr); printf("strftime %%c format\n"); printf("-------------------------\n %s\n", buffer); strftime(buffer, 80, "%A, %B %d, %H:%M\n", timeptr); printf("strftime %%A, %%B %%d, %%H:%%M format\n"); printf("--------------------------------\n %s\n", buffer); strftime(buffer, 80, "%a, %b %d, %H:%M\n", timeptr); printf("strftime %%a, %%b %%d, %%H:%%M format\n"); printf("--------------------------------\n %s\n", buffer); strftime(buffer, 80, "%a, %b %d, %I:%M %p\n", timeptr); printf("strftime %%a, %%b %%d, %%I:%%M %%p format\n"); printf("-----------------------------------\n %s\n", buffer); strftime(buffer, 80, "%a, %b %d, %I:%M %p, %Y\n", timeptr); printf("strftime %%a, %%b %%d, %%I:%%M %%p, %%Y format\n"); printf("---------------------------------------\n %s\n", buffer); strftime(buffer, 80, "%a, %b %d, %I:%M %p, %y\n", timeptr); printf("strftime %%a, %%b %%d, %%I:%%M %%p, %%y format\n"); printf("---------------------------------------\n %s\n", buffer); strftime(buffer, 80, "%A, %b %d %I:%M %p %Y\n", timeptr); printf("strftime %%A, %%b %%d, %%I:%%M %%p, %%Y format\n"); printf("---------------------------------------\n %s\n", buffer); return 0; } /* Output: strftime %c format ------------------------- Sun Jun 1 17:13:31 2014 strftime %A, %B %d, %H:%M format -------------------------------- Sunday, June 01, 17:13 strftime %a, %b %d, %H:%M format -------------------------------- Sun, Jun 01, 17:13 strftime %a, %b %d, %I:%M %p format ----------------------------------- Sun, Jun 01, 05:13 PM strftime %a, %b %d, %I:%M %p, %Y format --------------------------------------- Sun, Jun 01, 05:13 PM, 2014 strftime %a, %b %d, %I:%M %p, %y format --------------------------------------- Sun, Jun 01, 05:13 PM, 14 strftime %A, %b %d, %I:%M %p, %Y format --------------------------------------- Sunday, Jun 01 05:13 PM 2014 Program ended with exit code: 0 */ |
- %c は asctime() や ctime() と似たようなフォーマットを返します。
- %A と %a は曜日の指定です。[full spelled-out か 3文字]
- %B と %b は月の名前の指定。[full spelled-out か 3文字]
- %d は日付。
- %Y と %y は年。[4桁か下2桁]
- %H と %I は、24時間表示(%H)か 12時間表示(%I)
- %p は、PM/AM。