strftime

Autres langues

Langue: ja

Version: 2005-11-23 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

strftime - ÆüÉÕ¤ª¤è¤Ó»þ¹ï¤Îʸ»úÎó¤Ø¤ÎÊÑ´¹

½ñ¼°


#include <time.h>



size_t strftime(char *s, size_t max, const char *format,

                const struct tm *tm);

ÀâÌÀ

strftime() ´Ø¿ô ¤Ï¡¢Í×ÁÇÊ̤λþ¹ï tm ¤ÎÆâÍƤò format ¤Ç»ØÄꤵ¤ì¤¿½ñ¼°»ØÄê¤Ë¤·¤¿¤¬¤Ã¤ÆÊÑ´¹¤·¡¢ Ťµ max ¤Îʸ»úÎó s ¤Ë½ñ¤­¹þ¤à¡£

½ñ¼°Ê¸»úÎó¤Ë´Þ¤Þ¤ì¤ëÄ̾ï¤Îʸ»ú¤ÏÊÑ´¹¤µ¤ì¤º¤½¤Î¤Þ¤Þʸ»úÎó s ¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡£¡ÖÊÑ´¹»ØÄê¡×¤Ï `%' ʸ»ú¤Ç»Ï¤Þ¤ê¡¢ ¡ÖÊÑ´¹»ØÄêʸ»ú¡×¤Ç½ªÃ¼¤µ¤ì¤ë¡£ °Ê²¼¤Î¤è¤¦¤ËÊÑ´¹¤µ¤ì¤Æ s ¤Ë³ÊǼ¤µ¤ì¤ë:

%a
¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤±¤ëÍËÆü¤Î¾Êά̾¡£
%A
¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤±¤ëÍËÆü¤Î´°Á´¤Ê̾Á°¡£
%b
¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤±¤ë·î¤Î¾Êά̾¡£
%B
¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤±¤ë·î¤Î´°Á´¤Ê̾Á°¡£
%c
¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤¤¤Æ°ìÈÌŪ¤ÊÆüÉÕ¡¦»þ¹ï¤Îɽµ­¡£
%C
À¤µª (À¾Îñǯ¤Î¾å 2 ·å)¡£ (SU)
%d
·îÆâÄÌ»»Æü (10 ¿Ê¿ôɽµ­) (01-31)¡£
%D
%m/%d/%y ¤ÈÅù²Á¡£(¤¦¤¨¤Ã¡¢¥¢¥á¥ê¥«ÀìÍѤÀ¡£¥¢¥á¥ê¥«°Ê³°¤Î¹ñ¤Ç¤Ï %d/%m/%y ¤ÎÊý¤¬°ìÈÌŪ¤À¡£¤Ä¤Þ¤ê¡¢ÆüÉդˤè¤Ã¤Æ¤Ï¤É¤Á¤é¤«È½ÃǤǤ­¤Ê¤¤ ¤Î¤Ç¹ñºÝ²½¤µ¤ì¤¿Ê¸Ì®¤Ç¤Ï»ÈÍѤ·¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¡£) (SU)
%e
%d ¤ÈƱÍͤ˷îÆâÄÌ»»Æü¤ò 10 ¿Ê¿ô¤Çɽ¸½¤¹¤ë¤¬¡¢ 1 ·å¤Î¾ì¹ç 10 ¤Î°Ì¤Ë¥¼¥í¤òÃÖ¤«¤º¥¹¥Ú¡¼¥¹¤òÃÖ¤¯¡£(SU)
%E
ÊÌ·Á¼°¤ò»ÈÍѤ¹¤ëºÝ¤Î½¤¾þ»Ò¡£²¼µ­»²¾È¡£ (SU)
%F
%Y-%m-%d ¤ÈÅù²Á (ISO 8601 ·Á¼°¤ÎÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È)¡£ (C99)
%G
ISO 8601 ·Á¼°¤Îǯ (À¤µª¤â 10 ¿Ê¿ô¤Çɽ¤¹)¡£ ISO ½µ¿ô (%V ¤ò»²¾È) ¤ËÂбþ¤·¤¿ 4 ·å¤ÎÀ¾Îñǯ¡£ ¤³¤ì¤Ï´ðËÜŪ¤Ë¤Ï %y ¤ÈƱ¤¸·Á¼°¤À¤¬¡¢ISO ½µ¿ô¤¬Á°Ç¯¤äÍâǯ¤Ë¤Ê¤ë ¾ì¹ç¤Ë¤Ï¤½¤Îǯ¤¬»ÈÍѤµ¤ì¤ë¡£(TZ)
%g
%G ¤ÈƱÍÍ¡£Ã¢¤·¡¢À¤µª¤ò´Þ¤Þ¤º²¼ 2 ·å¤Î¤ß¤òɽ¼¨ (00-99)¡£ (TZ)
%h
%b ¤ÈÅù²Á (SU)
%H
24 »þ´Öɽµ­¤Ç¤Î»þ (hour)¡£ (00-23)
%I
12 »þ´Öɽµ­¤Ç¤Î»þ (hour)¡£ (01-12)
%j
ǯ¤Î½é¤á¤«¤éÄÌ»»¤ÎÆü¿ô¡£ (001-366)
%k
24 »þ´Öɽµ­¤Ç¤Î»þ (0-23)¡£ 1 ·å¤Î¾ì¹ç¤Ë¤ÏÁ°¤Ë¥¼¥í¤Ç¤Ê¤¯¥¹¥Ú¡¼¥¹¤¬ÃÖ¤«¤ì¤ë¡£(%H ¤â»²¾È) (TZ)
%l
12 »þ´Öɽµ­¤Ç¤Î»þ (0-12)¡£ 1 ·å¤Î¾ì¹ç¤Ë¤ÏÁ°¤Ë¥¼¥í¤Ç¤Ê¤¯¥¹¥Ú¡¼¥¹¤¬ÃÖ¤«¤ì¤ë¡£(%I ¤â»²¾È) (TZ)
%m
·î (10 ¿Ê¿ôɽµ­)¡£ (01-12)
%M
ʬ (10 ¿Ê¿ôɽµ­) (00-59)
%n
²þ¹Ô¡£ (SU)
%O
ÊÌ·Á¼°¤ò»ÈÍѤ¹¤ëºÝ¤Î½¤¾þ»Ò¡£°Ê²¼¤ò»²¾È¡£(SU)
%p
¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤±¤ë¡Ö¸áÁ°¡×¡Ö¸á¸å¡×¤ËÁêÅö¤¹¤ëʸ»úÎó¡£ ±Ñ¸ì¤Î¾ì¹ç¤Ë¤Ï 'AM' ¤Þ¤¿¤Ï 'PM' ¤È¤Ê¤ë¡£ Àµ¸á¤Ï¸á¸å¡¢¿¿ÌëÃæ¤Ï¸áÁ°¤È¤·¤Æ°·¤ï¤ì¤ë¡£
%P
%p ¤ÈƱÍͤǤ¢¤ë¤¬¾®Ê¸»ú¤¬»ÈÍѤµ¤ì¤ë¡£ ±Ñ¸ì¤Î¾ì¹ç¤Ë¤Ï 'am' ¤ä 'pm' ¤È¤Ê¤ë¡£(GNU)
%r
¸áÁ°¡¦¸á¸å·Á¼°¤Ç¤Î»þ¹ï¡£ POSIX ¥í¥±¡¼¥ë¤Ç¤Ï `%I:%M:%S %p' ¤ÈÅù²Á¤Ç¤¢¤ë¡£(SU)
%R
24 »þ´Öɽµ­¤Ç¤Î»þ¹ï¡¢ÉäÏɽ¼¨¤·¤Ê¤¤ (%H:%M)¡£(SU) Éäò´Þ¤ó¤À¤â¤Î¤Ï°Ê²¼¤Î %T ¤ò»²¾È¤¹¤ë¤³¤È¡£
%s
µª¸µ (1970ǯ 1 ·î 1 Æü 00:00:00 UTC) ¤«¤é¤ÎÉÿô¡£ (TZ)
%S
Éà (10 ¿Ê¿ôɽµ­) (00-60) (»þ¡¹¤¢¤ë±¼ÉäËÂбþ¤¹¤ë¤¿¤á¡¢ÃͤÎÈÏ°Ï¤Ï 60 ¤Þ¤Ç¤È¤Ê¤Ã¤Æ¤¤¤ë)
%t
¥¿¥Öʸ»ú (SU)
%T
24 »þ´Öɽµ­¤Î»þ´Ö (%H:%M:%S) (SU)
%u
½µ¤Î²¿ÈÖÌܤÎÆü (10 ¿Ê¿ôɽµ­) ¤«¡£·îÍËÆü¤ò 1 ¤È¤¹¤ë (1-7)¡£ %w ¤â»²¾È¡£(SU)
%U
ǯ¤Î½é¤á¤«¤é¤ÎÄÌ»»¤Î½µ¿ô (10 ¿Ê¿ôɽµ­) (00-53)¡£ ¤½¤Îǯ¤ÎºÇ½é¤ÎÆüÍËÆü¤ò¡¢Âè 1 ½µ¤Î»Ï¤Þ¤ê¤È¤·¤Æ·×»»¤¹¤ë¡£ %V ¤È %W ¤â»²¾È¤¹¤ë¤³¤È¡£
%V
ISO 8601:1988 ·Á¼°¤Ç¤Îǯ¤Î»Ï¤á¤«¤é¤Î½µ¿ô (10 ¿Ê¿ôɽµ­) (00-53)¡£ ¤½¤Îǯ¤Ë¾¯¤Ê¤¯¤È¤â 4 Æü°Ê¾å´Þ¤Þ¤ì¤ëºÇ½é¤Î½µ¤ò 1 ¤È¤·¤Æ·×»»¤¹¤ë¡£ ½µ¤Î»Ï¤Þ¤ê¤Ï·îÍËÆü¤È¤¹¤ë¡£%U ¤È %W ¤â»²¾È¤¹¤ë¤³¤È¡£
%w
½µ¤Î²¿ÈÖÌܤÎÆü (10 ¿Ê¿ôɽµ­) ¤«¡£ÆüÍËÆü¤ò 0 ¤È¤¹¤ë¡£(0-6)¡£ %u ¤â»²¾È¡£(SU)
%W
ǯ¤Î½é¤á¤«¤é¤ÎÄÌ»»¤Î½µ¿ô (10 ¿Ê¿ôɽµ­) (00-53)¡£ ¤½¤Îǯ¤ÎºÇ½é¤Î·îÍËÆü¤ò¡¢Âè 1 ½µ¤Î»Ï¤Þ¤ê¤È¤·¤Æ·×»»¤¹¤ë¡£
%x
¸½ºß¤Î¥í¥±¡¼¥ë¤Ç°ìÈÌŪ¤ÊÆüÉÕɽµ­¡£»þ¹ï¤Ï´Þ¤Þ¤Ê¤¤¡£
%X
¸½ºß¤Î¥í¥±¡¼¥ë¤Ç°ìÈÌŪ¤Ê»þ¹ïɽµ­¡£ÆüÉդϴޤޤʤ¤¡£
%y
À¾Îñ¤Î²¼2·å (À¤µªÉôʬ¤ò´Þ¤Þ¤Ê¤¤Ç¯) (00-99)¡£
%Y
À¤µªÉôʬ¤ò´Þ¤á¤¿ ( 4 ·å¤Î) À¾Îñǯ¡£
%z
¥¿¥¤¥à¥¾¡¼¥ó¤Î GMT ¤Ø¤Î¥ª¥Õ¥»¥Ã¥È»þ´Ö¡£ RFC 822 ·Á¼°¤ÎÆü»þ¤ËɬÍפǤ¢¤ë¡£ ("%a, %d %b %Y %H:%M:%S %z" ¤È¤·¤Æ»ÈÍѤ¹¤ë)¡£(GNU)
%Z
¥¿¥¤¥à¥¾¡¼¥ó¤Þ¤¿¤Ï¥¾¡¼¥ó̾¤Þ¤¿¤Ï¾Êά̾¡£
%+
date(1) ·Á¼°¤Ç¤ÎÆü»þ¡£(TZ) (glibc2 ¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤)
%%
`%' ʸ»ú¡£

¤¤¤¯¤Ä¤«¤ÎÊÑ´¹»ØÄê¤Ç¤Ï¡¢ÊÑ´¹»ØÄêʸ»ú¤ÎÁ°¤Ë E ¤ä O ¡Ö½¤¾þ»Ò¡×¤ò ÃÖ¤¯¤³¤È¤Ë¤è¤Ã¤ÆÊ̽ñ¼°¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¸½ºß¤Î¥í¥±¡¼¥ë¤Ë¤ª¤¤¤ÆÊ̽ñ¼°¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ Ä̾ï¤ÎÊÑ´¹»ØÄ꤬»ÈÍѤµ¤ì¤¿¤«¤Î¤è¤¦¤ËÆ°ºî¤¹¤ë (SU)¡£ Åý°ì UNIX µ¬³Ê (Single Unix Specification) ¤Ç¤Ï %Ec, %EC, %Ex, %EX, %Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy ¤Ë¤Ä¤¤¤Æµ­½Ò¤¬¤¢¤ë¡£¤³¤³¤Ç O ½¤¾þ»Ò¤ÏÊÌ·Á¼°¤Î¿ôÃÍ (¥í¡¼¥Þ¿ô»ú¤È¤«) ¤ò »ØÄꤹ¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£E ½¤¾þ»Ò¤Ï¥í¥±¡¼¥ë°Í¸¤ÎÊÌɽ¸½¤ò»ØÄꤹ¤ë¤Î ¤Ë»ÈÍѤ¹¤ë¡£(ÌõÃí: E ½¤¾þ»Ò¤ÏÆüËܤǻÈÍѤµ¤ì¤Æ¤¤¤ë¡Ö¾¼Ï¡סÖÊ¿À®¡× ¤Ê¤É¤Î¸µ¹æ¤Ë¤è¤ëǯɽµ­¤ò»ØÄꤹ¤ë¡£glibc 2.2 °Ê¹ß¤Ç¤Î¤ßÍ­¸ú)

Í×ÁÇÊ̤λþ¹ï¹½Â¤ÂÎ tm ¤Î¾ÜºÙ¤Ï <time.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ ctime(3) ¤â»²¾È¤¹¤ë¤³¤È¡£

ÊÖ¤êÃÍ

strftime() ´Ø¿ô¤Ïʸ»úÎó s ¤Ë³ÊǼ¤µ¤ì¤¿Ê¸»ú¿ô¤òÊÖ¤¹¡£ ¤³¤Îʸ»ú¿ô¤Ë½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤Ï´Þ¤Þ¤Ê¤¤¡£ ½ªÃ¼¤Î NULL ¥Ð¥¤¥È¤ò³ÊǼ¤Ç¤­¤ë¤À¤±¤ÎÂ礭¤µ¤ò»ý¤Ã¤¿Ê¸»úÎó¤òÅϤ¹¤³¤È¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤òÊÖ¤·¡¢Ê¸»úÎó¤ÎÆâÍƤϽ¤Àµ¤µ¤ì¤Ê¤¤¡£ (¤³¤ì¤Ï¾¯¤Ê¤¯¤È¤â libc 4.4.4 °Ê¹ß¤Ç¤ÏÀµ¤·¤¤¡£Èó¾ï¤Ë¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î libc¡¢ Î㤨¤Ð libc 4.4.1 ¤Ç¤Ïʸ»úÎó¤¬Ã»¤«²á¤®¤¿¾ì¹ç¤Ë¤Ï max ¤¬ÊÖ¤µ¤ì¤ë¡£)

ÊÖ¤êÃÍ 0 ¤Ïɬ¤º¤·¤â¥¨¥é¡¼¤ò°ÕÌ£¤·¤Æ¤¤¤ëÌõ¤Ç¤Ï¤Ê¤¤¤Î¤ÇÃí°Õ¤¹¤ë¤³¤È¡£ Î㤨¤Ð¡¢Â¿¤¯¤Î¥í¥±¡¼¥ë¤Ç¤Ï %p ¤Ï¶õʸ»úÎó¤òÊÖ¤¹¡£

´Ä¶­ÊÑ¿ô

´Ä¶­ÊÑ¿ô TZ ¤È LC_TIME ¤¬»ÈÍѤµ¤ì¤ë¡£ (ÌõÃí: LC_ALL ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï LC_TIME ¤è¤ê¤â¤½¤Á¤é¤¬Í¥À褵¤ì¤ë¡£
 LC_TIME ¤â LC_ALL ¤âÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï LANG ¤¬»ÈÍѤµ¤ì¤ë¡£)

½àµò

SVr4, C89, C99. ¸Ä¡¹¤ÎÊÑ´¹¤¬¸·Ì©¤Ë¤É¤Îµ¬³Ê¤Ë´Þ¤Þ¤ì¤ë¤«¤Ï¡¢ ANSI C (°õ¤Ê¤·)¡¢Åý°ì UNIX µ¬³Ê (SU°õ)¡¢Olson ¤Î timezone ¥Ñ¥Ã¥±¡¼¥¸ (TZ°õ)¡¢ glibc Æȼ« (GNU°õ) ¤Ç¼¨¤·¤Æ¤¤¤ë¡£glibc2 ¤Ç¤Ï %+ ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢ ¤¤¤¯¤Ä¤«¤Î³ÈÄ¥¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¡£POSIX.1 ¤Ç¤Ï ANSI C ¤Î¤ß¤ò»²¾È¤·¤Æ¤¤¤ë¡£ POSIX.2 ¤Î date(1) ¤Î¤È¤³¤í¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë´ö¤Ä¤«¤Î³ÈÄ¥¤Ï strftime() ¤Ë¤âŬÍѤǤ­¤ë¤À¤í¤¦¡£ %F ÊÑ´¹¤Ï C99 ¤È POSIX.1-2001 ¤Ë¤¢¤ë¡£

SUSv2 ¤Ç¤Ï¡¢%S ¤Ï 00 ¤«¤é 61 ¤ÎÈϰϤò¤È¤ë¤Èµ¬Äꤵ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤Ï¡¢1ʬ´Ö¤Î¤¦¤Á±¼Éä¬ 2¤ÄÆþ¤ë²ÄǽÀ­¤¬ÍýÏÀŪ¤Ë¤Ï¤¢¤ë¤³¤È¤ò ¹Íθ¤·¤Æ¤Î¤â¤Î¤Ç¤¢¤ë (¼ÂºÝ¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¤³¤ì¤Þ¤Ç°ìÅ٤⠵¯¤³¤Ã¤Æ¤¤¤Ê¤¤)¡£

Ãí°Õ

glibc ¤Ç¤ÎÃí°Õ

glibc ¤Ç¤ÏÊÑ´¹»ØÄê¤Ë¤¤¤¯¤Ä¤«³ÈÄ¥¤ò¹Ô¤Ã¤Æ¤¤¤ë (¤³¤ì¤é¤Î³ÈÄ¥¤Ï POSIX.1-2001 ¤Ë¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢ ¾¤Î¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤ÇƱÍͤε¡Ç½¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë)¡£ % ʸ»ú¤ÈÊÑ´¹»ØÄêʸ»ú¤Î´Ö¤Ë¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ flag ¤È¥Õ¥£¡¼¥ë¥É¤Î Éý ¤ò»ØÄê¤Ç¤­¤ë (¤³¤ì¤é¤ò»ØÄꤹ¤ë¾ì¹ç¤Ë¤Ï E ¤ä O ½¤¾þ»Ò¤ÎÁ°¤ËÃÖ¤¯)¡£

°Ê²¼¤Î¥Õ¥é¥°Ê¸»ú¤¬»ÈÍѤǤ­¤ë:

_
(²¼Àþ) ¿ôÃͤηë²Ìʸ»úÎó¤Î¥Ñ¥Ç¥£¥ó¥° (·êËä¤á) ¤ò¥¹¥Ú¡¼¥¹ (¶õÇòʸ»ú) ¤Ç¹Ô¤¦¡£
-
(¥À¥Ã¥·¥å) ¿ôÃͤηë²Ìʸ»úÎó¤ËÂФ¹¤ë¥Ñ¥Ç¥£¥ó¥°¤ò¹Ô¤ï¤Ê¤¤¡£
0
ÊÑ´¹»ØÄêʸ»ú¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥¹¥Ú¡¼¥¹¤Ç¥Ñ¥Ç¥£¥ó¥°¤ò¹Ô¤¦¾ì¹ç¤Ç¤â¡¢ ¿ôÃͤηë²Ìʸ»úÎó¤Ø¤Î¥Ñ¥Ç¥£¥ó¥°¤ò 0 ¤Ç¹Ô¤¦¡£
^
·ë²Ìʸ»úÎóÃæ¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥Èʸ»ú¤òÂçʸ»ú¤ËÊÑ´¹¤¹¤ë¡£
#
·ë²Ìʸ»úÎó¤ÎÂçʸ»ú¡¦¾®Ê¸»ú¤òÆþ¤ìÂؤ¨¤ë (¤³¤Î¥Õ¥é¥°¤ÏÆÃÄê¤ÎÊÑ´¹»ØÄêʸ»ú¤Ç¤·¤«µ¡Ç½¤·¤Ê¤¤¡£¤½¤ÎÃæ¤Ç¤â ËÜÅö¤ËÍ­ÍÑ¤Ê¤Î¤Ï %Z ¤Î¾ì¹ç¤À¤±¤Ç¤¢¤ë)¡£

¥ª¥×¥·¥ç¥ó¤Î10¿Ê¿ô¤ÎÉý»ØÄê»Ò¤Ï¥Õ¥é¥°¤Î¸å¤í¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤­¤ë (¥Õ¥é¥°¤Ï¤Ê¤¯¤Æ¤â¤è¤¤)¡£¥Õ¥£¡¼¥ë¥É¤ÎËÜÍè¤ÎÂ礭¤µ¤¬»ØÄꤵ¤ì¤¿Éý¤è¤ê¤â ¾®¤µ¤¤¾ì¹ç¡¢·ë²Ìʸ»úÎó¤Îº¸Â¦¤Ï»ØÄꤵ¤ì¤¿Éý¤Þ¤Ç¥Ñ¥Ç¥£¥ó¥°¤µ¤ì¤ë¡£

¥Ð¥°

gcc ¤Î¤¤¤¯¤Ä¤«¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ï¤ª¤«¤·¤Ê¤È¤³¤í¤¬¤¢¤ê¡¢ %c ¤Î»ÈÍÑË¡¤Ë¤Ä¤¤¤Æ°Ê²¼¤Î¤è¤¦¤Ê·Ù¹ð¤ò½Ð¤¹: warning: `%c' yields only last 2 digits of year in some locales (·Ù¹ð:¤¤¤¯¤Ä¤«¤Î¥í¥±¡¼¥ë¤Ç¤Ï`%c'¤Ïǯ¤Î²¼2·å¤·¤«½ÐÎϤ·¤Ê¤¤)¡£ ¤â¤Á¤í¤ó¥×¥í¥°¥é¥Þ¤¬ %c ¤ò»È¤¦¤Î¤Ï¤ªÁ¦¤á¤Ç¤­¤ë¤³¤È¤Ç¤¢¤ë¡£ %c ¤ò»È¤¦¤ÈŬÀÚ¤ÊÆüÉդȻþ¹ï¤Îɽµ­¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¤é¤Ç¤¢¤ë¡£ gcc ¤Î¤³¤ÎÌäÂê¤ò²óÈò¤·¤è¤¦¤È¤¹¤ë¤È¡¢²¿¤«¤¹¤Ã¤­¤ê¤·¤Ê¤¤µ¤Ê¬¤Ë¤Ê¤ë¤À¤í¤¦¡£ Èæ³ÓŪ¤­¤ì¤¤¤Ê²ò·èÊýË¡¤Ï°Ê²¼¤Î¤è¤¦¤ÊÃæ´Ö´Ø¿ô¤òÄɲ乤뤳¤È¤Ç¤¢¤ë¡£



size_t

my_strftime(char *s, size_t max, const char *fmt,

            const struct tm *tm)

{

    return strftime(s, max, fmt, tm);

}

Îã

°Ê²¼¤Î¥×¥í¥°¥é¥à¤ò»È¤¦¤È strftime() ¤Î¼Â¸³¤¬¤Ç¤­¤ë¡£



#include <time.h>

#include <stdio.h>

#include <stdlib.h>



int

main(int argc, char *argv[])

{

    char outstr[200];

    time_t t;

    struct tm *tmp;



    t = time(NULL);

    tmp = localtime(&t);

    if (tmp == NULL) {

        perror("localtime");

        exit(EXIT_FAILURE);

    }



    if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) {

        fprintf(stderr, "strftime returned 0");

        exit(EXIT_FAILURE);

    }



    printf("Result string is \"%s\"\n", outstr);

    exit(EXIT_SUCCESS);

} /* main */

°Ê²¼¤Ë¡¢ strftime() ¤Î glibc ¼ÂÁõ¤¬À¸À®¤¹¤ë·ë²Ì¤ÎÎã¤ò¤¤¤¯¤Ä¤«¼¨¤¹:




$ ./a.out "%m"

Result string is "11"

$ ./a.out "%5m"

Result string is "00011"

$ ./a.out "%_5m"

Result string is "   11"

´ØÏ¢¹àÌÜ

date(1), time(2), ctime(3), setlocale(3), sprintf(3), strptime(3)