Issue #7445 has been updated by tadf (tadayoshi funaba). 俺ã?®è?±è????¯é????¨ã????ªã???????????????????¥æ?¬è????§æ?¸ã????¦ã???????¾ã????? ?????ªã???????? DateTime ??®è©±????????¦ã?????äº????å¿??????ªã????§ä??????????? ?????§ã?§ã????®å????«æ?¸ã????¦ã?????äº?????????®ã?¾ã?¾é????¨ã????????????§ã?¯ã???????¾ã?????????????§ã?? ???è§£ã??æ·±ã?????????????®å???????«é? ? ?¾ã????????å½????????????§ã?????常è????§ã????? more(1) ??????å¼???? >SEE ALSO > vi(1), less(1) more ??? less ??¨ç??価ã??? 並å???????¦ã?¾ã????ã?? ?????????????????????è¨???£ã??ç???§ã??????????©ã???????ªã?????è¨????????????? '%s %z' ???å®???§ã?«æ?? ??½ã???????ªã????¦ä????¯ã???????¾ã?????????????ªã?????è¨???£ã?¦ã???????®ã?¯ã??æ§??????¬ã????«ã?§ã??èªã?? ????????¨ã?????????????§ã???????????????????¯ã??_strptime ??§å?ºæ?¥ã?¾ã????¨èª¬?? ????¾ã??????????? ????????? C ??®å?´å???????¿ã?¤ã????¾ã?¼ã?³ã?®ã?¡ã?³ã????¼ã?¯æ??æº???§ã?¯ã???????¾ã???????????????????¿ã?? ?????¾ã?¼ã?³ã?????å·®ã?«ã?¤ã????¦å¯¾ç§°ã?§ã???????¾ã??????????ªã????ªã?????ruby ??®ç????¿è¾¼??¿ã?¯ã?©ã?? Time ??§ã?©ã?®ã???????«ã???????®ã??è¦??????¦ä??????????? lcoaltime(3) ??????å¼???? > struct tm { > int tm_sec; /* seconds */ > int tm_min; /* minutes */ > int tm_hour; /* hours */ > int tm_mday; /* day of the month */ > int tm_mon; /* month */ > int tm_year; /* year */ > int tm_wday; /* day of the week */ > int tm_yday; /* day in the year */ > int tm_isdst; /* daylight saving time */ > }; DateTime ????????§ã?ªã????çµ???¿è¾¼??¿ã?¯ã?©ã?¹ã?? Time ??????C ??®ã?©ã?¤ã????©ã?ªã??????????§ã?? ??????æ£ã????????????¥ã???????«ã?¯ã??æ§??????¬ã????«ã???????§ã?ªã?????????®æ???³ã??è§£é???????ªã????? ??°ã?ªã????¾ã?????????????¾ã?????è¦?ç´????????????????å½???¦ã?«ã????¦ã????ªã???????®ã?¯ç?¡è???????????äº? ??«ã?ªã????¾ã??????????ªã????¯ã?¾ã?£ã????????????«æ??ä»??????ªã????µã??????????¦è?¡éº»????????¦ã????¾ã????? %s ??? time_t ???????³ã????¦ã????¾ã????????struct tm ??«ã?¯ã????®ã???????ªã?¡ã?³ã????¼ã?¯ã?ªã?? ??®ã?§å???????«ã?¯ã?????è§£ã???????¦è?ªæ? ?®å?°æ?¹æ????¨ã????¦æ?¼ç???????????ç???§ã?????ä»®ã?«æ??å·®ã?? ??¼ç??????????¦ã???????¨ã????¦ã??????????¯å?????????????????äº??????¨æ????¥ã?ªã??????????°ã???????¾ã???????? ?????®æ??å·®ã????°æ?¹æ????®ã???????¨ä????´ã????¦ã???????°ã???????§ã??????????????????????¨ã?¯é???????¾ã?? ????????????????????¼ç????????????????©ã???????¯å??è£?次第??§ã???????????mktime(3) ??????????????? è¦?????????°è¾»è¤????????????¾ã????????????????«ã????¦ã???????®ã??????????®æ?¯è???????¯æ?ªå??義ã????¨æ?? ?????¾ã?????俺é?????è°è??????????©ã?¯ã?ªã????§ã????? #define _XOPEN_SOURCE #include <stdio.h> #include <time.h> int main(int argc, char *argv[]) { struct tm tm; char buf[100]; strptime(argv[1], argv[2], &tm); strftime(buf, 100, "%F %T %z", &tm); printf("%s\n", buf); return 0; } $ ./a.out '3 +0100' '%s %z' 1970-01-01 09:00:03 +0100 $ ./a.out '3 -0100' '%s %z' 1970-01-01 09:00:03 -0100 ?????®å?´å????????????????«æ??å·®ã?¯èª??¿ã????¾ã????¦ã?¯ã????¾ã???????? $ date -d '1970-01-01 09:00:03 +0100' +%s 28803 $ date -d '1970-01-01 09:00:03 -0100' +%s 36003 ??§ã???????????èªã????§ã??????????§ã?????対称??§ã????©ã????¨ã????????話ã???????ªã???????§ã????? DateTime ??? Time ??®ã?¤ã?³ã?¹ã?¿ã?³ã?¹ã?¯ã?ªã????¸ã?§ã?¯ã????ªã?®ã?§ã??mktime(3) ?????ªã????? ????????¤ã?§ã????¾ã?????????????¾ã?????è¦?ç´????å??????§ã????®ã?¾ã?¾ã?«ã????¦ã???????? DateTime??? Time ??§ã?¯ã??????????¾ã??????????ªã????¸ã?§ã?¯ã????? struct tm ??§ã?¯ã???????¾ã?????????????ªã?? ???è¨???£ã?¦ã?????äº???¯å???????«ã?? C ??§ã??æ©???½ã????¦ã????ªã????????DateTime ??§ã???????®ã????? ??ªç?¨æ????????????¤ã??????????ªã????§ã??????????ªã????®è????£ã?¦ã??äº???¯ã?¦ã????§å?ºé????®ã?§ã????? > Time.strptime('1 +1200', '%s %z') #=> 1970-01-01 09:00:01 +0900 > Time.strptime('1 +2400', '%s %z') #=> 1970-01-01 09:00:01 +0900 å®??????®æ?????????³ã?®ã?ªã??çµ???¿å?????????¯ä????«ã??????????¾ã?????????????«å¯¾?????¦ã???????¡ã????? æ£ã?????è§£é???????¨æ????????????¨ã?¯æ???????¾ã?????????????®ä»¶??§ã????ªã????®è?????????????«ä¿®æ£ã?? ?????°ã??????????§å????§ã?ªå¯¾ç§°æ?§ã??å¾?????????????????§ã?¯ã?ªã????®ã?§ã????? > Time.strptime('1 0', '%s %w').wday #=> 4 > Time.strptime('1 PM', '%s %p').hour #=> 9 > DateTime.new(2001,2,3,16,5,6).strftime('%F %T %p') #=> "2001-02-03 16:05:06 PM" > DateTime.strptime('%F %T %p', "2001-02-03 16:05:06 PM") ArgumentError: invalid date 俺ã?? '%s %z' ??ªã????¦æ?¸å???®æ?¥ä????¯è?????äº????????????¾ã??????????¿ã?¤ã????¾ã?¼ã?³ã?????å·®ã?? å¿?è¦???ªã?®ã?¯ã????¬è³ª?????«ã??????????°æ?¹æ?????????????§ã???????????%s ???示ã????¦ã???????®ã?¯ã?? time_t ??§ã??time_t ??«ã?¯ã?¿ã?¤ã????¾ã?¼ã?³ã?????å·®ã?®æ????±ã?¯ã???????¾ã????????Unix ??§ã?¯ã?? ?????¯æ??ä¸ ?®ã????®ã?¨ã????¦ã????ªæ? ?ªã????®ã??説æ? ?????å¿?è¦???®ã?ªã???????®ã?¨ã????¦ã??????????? ??¨ã?¤ã?????????????????????????ºæ?¬ã?§ã????? ?????¨ã????°ã??ISO 8601 ???è¦???¦ã?¿ã?¾ã?????????????°æ?¹æ????«æ??å·®ã?¯ã???????????å®?ä¸?????????«ã?? ??ªã????§ã????????????????????ç©?極ç????«å???????¥ã??????????±ã????????????¾ã????????å°?????¨ã???????? ??§ã?¯ã???????¾ã?????????????ªã?????????????¥ã????¦å????¶ã?®ã???????«è???????¹æ???????????????¾ã???????? 俺ã?¯ã?¿ã?¤ã????¾ã?¼ã?³ã?????å·®ã?¯ä¿®é£¾è????®ã???????ªã????®ã????¨æ????£ã?¦ã????¾ã????????'%s %z' ??§ã?¯å¯¾è±¡ã?«ã?ªã???????®ã??????????¾ã????????'%s %p' ??ªã????????????????§ã??????????????????????? ??«æ???³ã??ä¸ ????ªã???????°ã?ªã????ªã????¨ã?¯æ???????¾ã???????? ?????ªã?????表ç??????????¨ã????¦ã????? '%s %z' ??¯æ?¥ä????¨ã????¦ã?????????????¨æ???????¾ã???????? ????????¡ç????«è§£???????????ªã????°ã????¥ä????§ã?¯ã?ªã???¦ã????¥ä????ªã????¸ã?§ã?¯ã????®ä??å®???¨ã?ªã?? ?????¼ã?®ã???????ªã????®ã?«ã???? ?ªã????¨æ???????¾ã????? ???????????????time_t ??¯é???????«ã????´å?????????????®ã?§ã??ç§»æ????§ã??ä¹????????§ã????????????????? ???????????²ã????ªæ????§èª??¿æ?¸ã????ºæ?¥ã????¨ã????¦ã??????????¾ã??ç©?極ç????«å?©ç?¨ã????§ã??????????? ????????ªã????®ã?§ã?¯ã?ªã????¨ã?????äº????è¨???£ã?¦ã?????????????§ã?????ruby ??®ç????¿è¾¼??¿ã?¯ã?©ã?¹ã?? 対ã????¦ã??????????¨ã????ªã??äº??????¡ç???????¦ã???????©ã??????????¾ã??????????°ã?????æ©???½ã?¨ã????? ??ªã????¾ã???????????????????¯ã????°ã?§ã?????????????°ã????´ã?£ã?????????????³ã????³ã?¤ã????£ã?¦ä??????????? ??¨ã?¯çµ¶å¯¾ã?«è??????????????????¾ã???????? ???????????¯å????¥ã????ªå??義ã?®æ?¯è???????¨ã????¦æ?????å¾??????®ã?????????????¾ã????????????????????ä»? ??®æ?????????????¥ã??????????¨ã?¯å?¨ã?????????¾ã?????????????«ä????????????????¥ã????ªã???????°ã?ªã????? ????????±ã?¯ã???????®ã?§ã??????????????ä»???¾ã?§èª°??«ã????????è¨?????????äº???¯ã???????¾ã??????????? ??ªã??以å????«ã?¯ã?? ??³ã?¼ã?????è¦??????°ã?????????¾ã????????????????«ç?¡è???????¦ã????¾ã?????????³ã????¦ã????£ã?¦ã?¾ã????? ä»????????????¯å????£ã?¦ã????¾ã????????????????ªã????«èª¬å¾??????????æ°?????????¾ã????????????????§ç??å¾? ??§ã????ªã????´å????¯ä????®ã?¨ã?©ã?¤äºº??«ç?¸è???????¦ä??????????? 俺ã?®ç??è«???¯ã??????????¯ã????°ã???????ªã???????§ã????? ---------------------------------------- Bug #7445: strptime('%s %z') doesn't work https://bugs.ruby-lang.org/issues/7445#change-41622 Author: felipec (Felipe Contreras) Status: Rejected Priority: Low Assignee: tadf (tadayoshi funaba) Category: lib Target version: Next Major ruby -v: ruby 1.9.3p327 Backport: See: ruby -e "require 'date'; p DateTime.strptime('0 +0100', '%s %z').strftime('%s %z')" The timezone is ignored. -- http://bugs.ruby-lang.org/