Rubyã®Time#strftimeãè¦ããï¼ããã£ããã«ãããï¼
Rubyã®Time#strftimeã®ãã£ã¬ã¯ãã£ãã¯å¯¾ç§°æ§ãããããã«è¦ãã¦ãããã§ããªãä¾å¤ããã£ã¦è¦ãã¥ããã
%a - The abbreviated weekday name (``Sun'') %A - The full weekday name (``Sunday'') %b - The abbreviated month name (``Jan'') %B - The full month name (``January'') %c - The preferred local date and time representation %C - Century (20 in 2009) %d - Day of the month (01..31) %D - Date (%m/%d/%y) %e - Day of the month, blank-padded ( 1..31) %F - Equivalent to %Y-%m-%d (the ISO 8601 date format) %h - Equivalent to %b %H - Hour of the day, 24-hour clock (00..23) %I - Hour of the day, 12-hour clock (01..12) %j - Day of the year (001..366) %k - hour, 24-hour clock, blank-padded ( 0..23) %l - hour, 12-hour clock, blank-padded ( 0..12) %L - Millisecond of the second (000..999) %m - Month of the year (01..12) %M - Minute of the hour (00..59) %n - Newline (\n) %N - Fractional seconds digits, default is 9 digits (nanosecond) %3N millisecond (3 digits) %6N microsecond (6 digits) %9N nanosecond (9 digits) %p - Meridian indicator (``AM'' or ``PM'') %P - Meridian indicator (``am'' or ``pm'') %r - time, 12-hour (same as %I:%M:%S %p) %R - time, 24-hour (%H:%M) %s - Number of seconds since 1970-01-01 00:00:00 UTC. %S - Second of the minute (00..60) %t - Tab character (\t) %T - time, 24-hour (%H:%M:%S) %u - Day of the week as a decimal, Monday being 1. (1..7) %U - Week number of the current year, starting with the first Sunday as the first day of the first week (00..53) %v - VMS date (%e-%b-%Y) %V - Week number of year according to ISO 8601 (01..53) %W - Week number of the current year, starting with the first Monday as the first day of the first week (00..53) %w - Day of the week (Sunday is 0, 0..6) %x - Preferred representation for the date alone, no time %X - Preferred representation for the time alone, no date %y - Year without a century (00..99) %Y - Year with century %z - Time zone as hour offset from UTC (e.g. +0900) %Z - Time zone name %% - Literal ``%'' character
ããããã¡ãã£ã¨æ´çãã¦ã¿ããã¾ãã
> t = Time.now > t #=> 2011-02-27 15:25:06 0900
ã¨ãããã¾ããä¸çªæåã«è¦ããã¹ãã¯ã
%m/%d/%y %w 02/27/11 0
ã¨ããã¨ãããå°æåã§ãmãdãyãã¯ãããã2æ¡ã®æãæ¥ãå¹´ã«ç¸å½ãããwã¯0..6ã§ææ¥ã示ãã¦ãã¦ããã¡ããã«ã¦ã³ãã¯æ¥ææ¥ã¹ã¿ã¼ãã
ãããmãdãyã大æåã«ãããã©ããã¨ããã¨ãYã4æ¡è¡¨è¨ã«ãªãã ãã§ãDãMã¯ã¾ã£ããå¥ã®æå³ãªã®ã§è¦æ³¨æãstrftimeã§å ¨è¬çã«è¨ããæ³åæ§ã¨ãã¦ã大æåã®ãã£ã¬ã¯ãã£ãã¯ãæ¡æ°ãå¤ãã£ãããçç¥å½¢ã§ãªãå½¢å¼ï¼Sunã§ã¯ãªãSundayã®ããã«ï¼ã示ãã¦ããã¨ããã®ãããããªã®ã§ãyã11ã§Yã2011ã¨ãªãããããmã¨Mã®é¢ä¿ã¯ã©ãèããã®ã£ã¦ãããã¨ã ãã©ãããã¯æ¬¡ã®éè¦ãªè¡¨è¨ãè¦ããã°ä½ãstrftimeã®å¯¾ç§°æ§ãå£ããã®ããç解ã§ããã
%H:%M:%S (%p) 15:25:06 (PM)
大æåã§ãHãMãSãã¯ãããã2æ¡ã®æéï¼24æé表è¨ï¼ãåãç§ã¨ãªããè¦ãããããpã¯æå³ãåãããªããpmã®pã¨è¦ãããããªãããããªãã§amã®aãããªãã®ã£ã¦ãã¨ã ãã©ãããã¯ãaã¯ææ¥ã®ååãã§ä½¿ããã¦ãã¾ã£ã¦ãããããããªããã¨æ¨æ¸¬ãpã®å¤§æåã®Pã¯ãpmãã¨å°æåã§åºåããããã®å¯¾ç§°æ§ã®ãªãã¯ãããæå³ããããããã©ãå ã»ã©ã®å¤§æåã®æ³åã«ãããæ£ãã表è¨ã大æåãã¨ããã®ãå ããã¨ãããããã°ãam/pmã®è±èªçã«æ£ãã表è¨ã¯A.M./P.M.ãããããã¯AM/PMã ããä¸å¿ã¤ãã¤ã¾ãåããã¨ãæã£ããéã ã£ããããããããããã
ãã¦ãããã§mã¨Mã§ã¯ãmonthã¨minuteã§è¡çªãèµ·ãã£ã¦ãããè±èªã®æ¥ä»ã®èªå½ã¯ããã¨ãã¨å¯¾ç§°æ§ãä¿ã¡ã¥ããã®ã§ããããããã¨ã«ãªã£ã¦ããã®ã ã¨æããYã¨yã¯åããã®ãæãã¦ããã®ã«ãm/Mãd/Dã¯å ¨ç¶å¥ã®ãã®ã
mã¯æã§ãMã¯åã ã£ãããããæ®ãDã¯ä½ãã¨è¨ãã¨ãããã¯Dateã®ç¥ã
> t.strftime("%D") #=> "02/27/11" > t.strftime("%m/%d/%y") #=> "02/27/11"
ã¨ããæãã§ãDateã¨ããã®ã¯%m/%d/%yã®ç¥è¨ã¨èãããããæ¥æ¬äººã¨ãã¦ã¯ãã©ããã¦å¹´å·ãæå¾ã«æ¥ã¦ããã ã¨ã ãã¨ãããã©ãä¸çªç¨ããããæ¨æºçãªå¹´ææ¥ã®è¡¨è¨ã¨ãã¦ã¯%Dã使ãã¨ãããã¨ãªãã ããã
%Dã¨å¯¾ã«ãªã£ã¦ããã®ãã%TãTimeã ã
> t.strftime("%T") #=> "15:25:06" > t.strftime("%H:%M:%S") #=> "15:25:06" > t.strftime("%t") #=> "\t"
ã¤ã¾ããTimeã¯æå»ã®æ¨æºè¡¨è¨ã§ã%H:%M:%Sã®å¥åã¨ããããã ãå°æåã®tã¯ã¿ããã¾ãæååãã©ã¼ããã¿ã¼ã ããã¿ãããããªãã¨å°ãããã¿ãã¯t以å¤ã«å²ãä»ãããããªããã§ãæå»ã«é¢ä¿ããæåãHMSTãã¨å¯¾å¿ããå°æåã®ãã¡ãtã¨m(minute)ã¯ãã§ã«å¯¾ç§°æ§ãç ´ãã¦ããããã ãã©ãhã¨sãä½ãã¨è¨ãã¨ãhã¯ãªãã¨bã®ã¨ã¤ãªã¢ã¹ã§æåã®ç¥ç§°ï¼JanãFebãªã©ï¼ã ãæå³ããããããsã®ã»ãã¯ç§ã«é¢ä¿ãã¦ãããã©å¾è¿°ããããã«ãã¦ããæãéè¦ãªãy/m/dãH:M:Sã«é¢ãã¦ãY以å¤ã«ã¯å¯¾ç§°æ§ãªãã¦ãªãã®ã ã¨ãããã¨ãèªèããã®ã大åãããããã°ãæå»ã®Hã«é¢ä¿ãããã®ã«ãHã®12æé表è¨ã¨ããããIãããã
> t.strftime("%H:%M:%S") #=> "15:25:06" > t.strftime("%I:%M:%S") #=> "03:25:06"
ããã¯ããªãè¦ããã¦ãæ¬å½ã ã£ãããhã03ã§Hã15ã«ãªãã¹ãã ããããªã¢ããè¦ããã¨ããã®ã¯ããã®ããRubyããªãããããªãã¨æãããå®éè¦ããå¿ è¦ã¯ãªããããããªããã©ãè¦ãã¦ãã¾ã£ãã£ã¦èª°ãå°ãããã§ããªãããå®ã¯è¯ããã¨ãªã®ã ãHã¨Iã¯å¯¾ã«ãªã£ã¦ãããã¤ãã§ã«Yã¨Cãããã種ã®å¯¾ã«ãªã£ã¦ããã%Cã¯Centuryã§2æ¡ã®æ°åãè¿ãã
> t.strftime("%c") #=> "Sun Feb 27 15:25:06 2011" > t.strftime("%C") #=> "20"
ãã£ã20ä¸ç´!? å©ãã¦ãã©ãããï¼ Centuryãªã®ã«ãYã®ä¸ä½2æ¡ãè¿ãã¦ãããï¼ æ¥å¸¸ç¨èªã®ä¸ç´ã¨ã¯é¢ä¿ãªãã£ã¦ãã¨ãããã¤ããªã
ãªãrãªã®ãåãããªããã©ãr/Rã¯ç§ãæãããæå»ï¼%Tï¼Timeï¼ã®å¥åã ã
> t.strftime("%R") #=> "15:25" > t.strftime("%H:%M") #=> "15:25" > t.strftime("%r") #=> "03:25:06 PM" > t.strftime("%H:%M:%S %p") #=> "15:25:06 PM"
次ã«ãã使ããããªã®ã¯ãa/Aãb/Bã ã
> t.strftime("%a - %A") #=> "Sun - Sunday" > t.strftime("%b - %B") #=> "Feb - February"
ã大æåãæ£å¼ããå°æåã¯ç¥è¨ãã¨ããæ³åãæãç«ã£ã¦ããããã®2ã¤ãã©ãããæ¥ãã®ãããåãããªããUnixã®dateã³ãã³ãã ããã¨æããBSDç±æ¥ã®Macã®dateã³ãã³ããå©ãããã
% date "+%a %A %b %B" æ¥ æ¥ææ¥ 2 2æ % LANG=C date "+%a %A %b %B" Sun Sunday Feb February
ã¨ãªã£ãããªãã»ã©â¦â¦ãã©ããæå³ãåãããªããã£ã¬ã¯ãã£ãã®é¡ã¯Unixç±æ¥ããããdateã³ãã³ãã¯%xã%Xã¯ããããããã±ã¼ã«ãæèããæ¥ä»ãæå»ãåºåãããRubyãä¼¼ã¦ãããã©ãRubyã£ã¦ãã±ã¼ã«ã©ããªã£ã¦ããã ï¼
% date "+%x" 2011/02/27 % LANG=C date "+%x" 02/27/11 % date "+%X" 16æ15å19ç§ % LANG=C date "+%X" 16:15:15
ãã®ã»ãã«Time#strftimeã§æ¯è¼ç大äºãããªã®ã¯ãããæ¥æããã®çµéæéãçµéæ¥æ°ãçµéé±ãªã©ã«ä½¿ãããã¤ã
- %sï¼ã¨ããã¯æï¼1970/1/1 00:00:00 UTCï¼ããã®çµéç§
- %jï¼1æ1æ¥ããçµéæ¥æ°
- %Wï¼å¹´åããã®é±æ°ï¼ãã ããèµ·ç¹ãææã¨ãããæ¥æã¨ããããISO8601ã«å¾ããã§ã%Uã%Vãªã©ããªã¨ã¼ã·ã§ã³ããï¼
sã¯ç§ã ããããããjããã©ã³ã¹èªã¨ãã ã¨jourãdayã ã¨è¦ããã°ããããããå¾ã¯ç¥ããããã®ãããè¦ããã°ååã ããã
以ä¸ã®é¢ä¿ãå³ã«ããã¨ã以ä¸ã®ããã«ãªãã
ã¡ãã£ã¨ã¹ãããªããã