Menu

Category

Archive

logo


strftime()の使い方

2014-06-01 17:15:00 +0900
  • このエントリーをはてなブックマークに追加

前回前々回 と 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。