
PerlãšCPANã¯ãæéãæäœããããã®ããŸããŸãªããŒã«ãæäŸããŸãã äŒçµ±çã§æãæåãª
DateTime
ã¯ãé床ãšã¡ã¢ãªæ¶è²»ã«é¢ããŠåæ§ã«äŒçµ±çãªæ·±å»ãªäžæºãåŒãèµ·ãããŠãããããåŸã
ã«ã·ã¹ãã ã®ä»£æ¿ã¢ãžã¥ãŒã«ã«çœ®ãæãããå§ããŸããã TIMTOWDIã¯çŽ æŽãããã®ã§ããããããžã§ã¯ãã§ã¯ãŸã äœããã®é åºãæââãããããšæã£ãŠããŸãã ãã®ãããé床ãæ©èœã䜿ããããã«ã€ããŠæã人æ°ã®ããã¢ãžã¥ãŒã«ã®ããã€ãããã¹ãããã¡ã€ã³ããŒã«ã«ãªãã¢ãžã¥ãŒã«ãéžæããããšã«ããŸããã
åææ¡ä»¶
ãã¹ããå®è¡ããåã«ãã¢ãžã¥ãŒã«ã®èŠä»¶ã決å®ããå¿
èŠããããŸããã 次ã®æ¡ä»¶ããããžã§ã¯ãã«èšå®ãããŸããã
å¿
èŠãªæ©èœïŒ
- ã¿ã€ã ãŸãŒã³ã®æäœïŒãŸãŒã³ã䜿çšããèšç®ãããŒã«ã«ã®æ±ºå®ïŒ;
- ãã¿ãŒã³ã«åŸã£ãŠãæååãæéãšãšãã«è§£æããã³ãã©ãŒãããããŸãã
- æéééã®æäœïŒ1æ¥è¿œå ã1é±éããããæ¥ä»ã®å·®ãèšç®ïŒ;
- ã10æã®ç¬¬1é±ããã幎ã®ç¬¬12é±ããªã©ã®æŠå¿µã§äœæ¥ãã
è¿œå æ¡ä»¶ïŒ
- äœæ¥å¯Ÿè±¡ã®ã¯ã³ã¿ã€ã ãªããžã§ã¯ããæãŸããã
- ç°¡æœãªã³ãŒãã
- ã¢ãžã¥ãŒã«ãæŸæ£ãã¹ãã§ã¯ãããŸããïŒé·ãéæŽæ°ãããŠããªããå€ãã®æªè§£æ±ºã®ãã°ïŒã
- Debianã§æšæºPerlïŒçŸåšã¯v5.14.2ïŒã䜿çšããŠäœæ¥ããŸãã
è©äŸ¡åºæºïŒ
- æ©èœèŠä»¶ãžã®æºæ ã
- äœæ¥é床;
- é©åãªã€ã³ã¿ãŒãã§ãŒã¹ã
- 䞻芳çãªäœ¿ããããã
ã¢ãžã¥ãŒã«
æéãæäœããããã®ã¢ãžã¥ãŒã«ã¯å€æ°ãããŸãããæã人æ°ã®ãããã®ãéžæããŸãããæããã䜿çšãããã®ã¯ãã³ãŒããååã®åºçç©ãããã³ã¹ããŒãªãŒã®äž¡æ¹ã§ãã çµæã®ãªã¹ãïŒãã¹ãã§äœ¿çšãããããŒãžã§ã³çªå·ä»ãïŒïŒ
æ©èœã®ç°¡åãªæŠèŠãšããã¹ãçµæã«åœ±é¿ããæ©èœãããã³æž¬å®çµæã瀺ããŸãã åã¢ãžã¥ãŒã«ã®è©³çŽ°ãªèª¬æã¯ããã€ãã£ãããã¥ã¡ã³ãã«èšèŒãããŠããŸãã

ããããæã人æ°ã®ããã¢ãžã¥ãŒã«ã ããæ£ç¢ºã«ã¯ãã¢ãžã¥ãŒã«ã®ã°ã«ãŒãã§ãããç°ãªãæ©èœãç°ãªãåå空éã«åå²ãããããã§ãã äžè¬ã«ã
DateTime
ã®æ©èœ
DateTime
éåžžã«åºç¯ãªãã®ã§ãããã¢ãžã¥ãŒã«ã¯ããã©ãŒãã³ã¹ãäœããšæ¹å€ãããããšããããããŸãã
æ°ãããªããžã§ã¯ããäœæããå Žåã1ç§ã®ç²ŸåºŠã§æéãèæ
®ãããŸãããããç§ã®ç²ŸåºŠã§åäœã§ããŸãã
æ¥ä»ãå«ãæååã解æããæ¹æ³ã¯ããããŸããããå€ãã®æ¢è£œã®ããŒãµãŒïŒãã©ãŒããã¿ãŒïŒã
DateTime::Format::*
ãŸãã ãŸãã
format_datetime
ã¡ãœãããå®è£
ããå Žåãå¿
èŠãªåœ¢åŒã§æéãšãšãã«æååã圢æããããã«ã䜿çšãããŸãã ãã¹ãã§ã¯ã
DateTime::Format::ISO8601
ïŒããŸããŸãªAPIããã³ãµãŒãã¹ã§ãã䜿çšãããŸãïŒããã³
DateTime::Format::Strptime
ïŒstrptimeãšåæ§ã«ç¬èªã®ãã³ãã¬ãŒãã䜿çšã§ããŸãïŒã䜿çšããŸãã
DateTime::Format::Builder
ã䜿çšããŠç¬èªã®ããŒãµãŒãäœæããããšãã§ããŸãã
DateTime::TimeZone
ãªããžã§ã¯ãã䜿çšããŠã¿ã€ã ãŸãŒã³ãæäœã§ããŸãããããã¯ãªãã·ã§ã³ã§ãã ããšãã°ã
time_zone => 'Asia/Taipei'
æå®ããã ãã§ãç¹å®ã®ãŸãŒã³ã«æéãªããžã§ã¯ããäœæã§ããŸãã ãŸãŒã³ã®èª¬æã¯ã¢ãžã¥ãŒã«èªäœã«ããããããã®é¢é£æ§ã¯åå¥ã«ç£èŠããå¿
èŠãããããšãç解ããããšãéèŠã§ãã ãŸããæååã®ä»£ããã«æºåããã
DateTime::TimeZone
ãªããžã§ã¯ããæž¡ãããšãã§ããŸããããã¯ãããŒã«ã«ã¿ã€ã ãŸãŒã³ã䜿çšããå Žåã«åœ¹ç«ã¡ãŸãã ãã®å®çŸ©ã¯ãããšãã°æ¬¡ã®ããã«ããªããžã§ã¯ããæºåããããã«äºåã«é·ãå¹æçã«ããããšãã§ããŸãã
state $tz = DateTime::TimeZone->new( name => 'local' );
ééãåŠçããã«ã¯ã
DateTime::Duration
ãªããžã§ã¯ãã䜿çšããŸããæ¥ä»ãæžç®ãããšåããªããžã§ã¯ããè¿ãããŸãã
æ¥ä»ã®æ¯èŒã¯ãé©åãªã¡ãœãã
DateTime->compare( $dt1, $dt2 )
ããã³
DateTime->compare_ignore_floating( $dt1, $dt2 )
ã䜿çšããŠãç§ã®ç«¯æ°ãšæŽæ°å€ã®äž¡æ¹ãèæ
®ããŠå®è¡ã§ããŸãã
äžè¬çã«ãã¢ãžã¥ãŒã«ã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯éåžžã«ã·ã³ãã«ã§ç解ããããããã§ãã å€ãã®ã¢ãžã¥ãŒã«ã®äœ¿çšã¯äžéšã®äººã«ãšã£ãŠã¯äžäŸ¿ã«æãããããããŸãããããããã¯æ£ããç·šæãããŠãããããæ¬ ç¹ãšã¯èšããŸããã

ãã®ã¢ãžã¥ãŒã«ã®äž»ãªæ©èœã¯éé£ãšåŒã³ãŸãã ããšãã°ãã12æ10æ¥ååŸ8æããšããè¡ã§ããŸãå¥ã®èšèªã§æ¥ä»ã決å®ãããªã©ãéåžžã«å·§åŠãªæäœãè¡ãããšãã§ããŸãã ãããããã®ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã¯æãç解ãã«ãããã®ã§ãïŒå°ãªããšãç§ã«ã¯ïŒã
DateTime
ãšåæ§ã«ãæ©èœã¯å€ãã®ã¢ãžã¥ãŒã«ã«åå²ãããŸããããããã®åé¢ã®ããžãã¯ã¯æããã§ã¯ãããŸããã æ°ãããªããžã§ã¯ããäœæããã«ã¯ã3ã€ã®ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ããäžåºŠã«äœ¿çšããå¿
èŠããããŸã
Date::Manip
ã
Date::Manip::Date
ã
Date::Manip::Obj
ã
åžžã«å¿
èŠãªããã§ã¯ãããŸãããã圌女ã¯ã»ãã®äžç¬ã§äœæ¥ããæ¹æ³ãç¥ããŸãããã誰ãã«ãšã£ãŠã¯éèŠã§ããããšãããããããããŸããã
ã12æ10æ¥ååŸ8æããã4å¶æ¥æ¥åŸããªã©ã®æååã®æ¥ä»ããããŸããŸãªèšèªã§è§£æã§ããŸãã ããã¯éåžžã«ã¯ãŒã«ã§ãããç§ã¯å人çã«ãã®ãããªåé¡ã«ééããããšã¯ãããŸããã ããã¯ãããçš®ã®åŒ±ãæšæºåãããïŒãŸãã¯æå³çã«éåžžã«èªç±ãªïŒãŠãŒã¶ãŒå
¥åã§äœæ¥ãããšãã«ããããçã«ããªã£ãŠããŸãã
ééã¯ã
Date::Manip::Delta
ãªããžã§ã¯ãã§è¡šããã
Date::Manip::Delta
ã®å·®ãšããŠè¿ãããŸãã
æ¥ä»ãæ¯èŒããã«ã¯ãç¹å¥ãªæ¹æ³ã䜿çšãããŸãã
$dm_date1->cmp( $dm_date2 );
é±ãšæã®å§ãŸããšçµããã決å®ããããšã¯å¯èœã§ãããäžäŸ¿ã§éåžžã«æéãããããŸãããã®ããã«ã¯ãããã€ãã®æäœãå®è¡ããå¿
èŠãããããããã®ãã¹ãŠãã¹ããŒããä¿é²ããŸããã
æ¢åã®ãªããžã§ã¯ãã®ã³ããŒãäœæã§ããŸããã
äžè¬çã«ãã€ã³ã¿ãŒãã§ã€ã¹ã¯éåžžã«å
·äœçã§ãã ããªãã¯ããããããã«æ
£ããããšãã§ããããããïŒObjectiveCã®ããã«ïŒããçŸããèŠããã§ããããããããè¡ãå¿
èŠããããŸããïŒ

å¥ã®éåžžã«äººæ°ã®ããã¢ãžã¥ãŒã«ã ããã«ãPerlã«å«ãŸããã³ã¢ã¢ãžã¥ãŒã«ã§ãã æ¬è³ªçã«ãããã¯æšæºé¢æ°ã®ãªããžã§ã¯ãæåã©ãããŒã§ãã ããã©ã«ãã§ã¯ã
localtime
ãš
gmtime
ãªãŒããŒã©ã€ãããŸãã 空ã®ãªããžã§ã¯ããäœæããæ¹æ³ã¯ããããŸãã;
new
åŒã³åºããããš
localtime
ãšåãããã«ãªããŸãããå¥ã®
Time::Piece
ãªããžã§ã¯ããæž¡ããããšããã®ã³ããŒãäœæãããŸãã
äœæãããªããžã§ã¯ãã®ã¿ã€ã ãŸãŒã³ãå€æŽããããšã¯ã§ããŸããããç®çã®ãŸãŒã³ã®æéã¯ãªãã»ããïŒç§åäœïŒã§ååŸã§ããŸãã
strptime
ãã³ãã¬ãŒãã®ã¿ã
strptime
ã§ã
strptime
ãã»ãšãã©ã®å Žåãããã§ååã§ãã
圌女ã¯ã»ãã®äžç¬ã§ä»äºãããããšã¯ã§ããŸããã
ãã¹ãŠã®èšç®ã¯æ°ç§ã§è¡ãããŸãã 䟿å®äžã
Time::Seconds
ïŒ
ONE_DAY
ãªã©ïŒããäºåå®çŸ©ãããå®æ°ããããŸãã èšç®çµæã¯æ確ã§ã¯ãªãããã
'2015-02-25 10:33:25' + ONE_YEAR = '2016-02-25 16:22:15'
ã§ãã åé¡ã¯ã
ONE_YEAR
ã31556930ç§ãŸãã¯365.24225æ¥ã§ããããšã§ãïŒã¯ããäžžãããïŒã åãæïŒ
'2015-02-01 00:00:00' + ONE_MONTH = '2015-03-03 10:29:04'
ãã®åé¡ãç解ããèè
ã¯ããªããžã§ã¯ãã®2ã€ã®ã¡ãœãã
add_months
ãš
add_years
ã ãã ããæ©èœã䜿çšã§ããŸãã2008-03-31ããæãååŸãããšã2008-03-02ã«ãªããŸãã ããã¯åžžã«èšæ¶ãããèæ
®ãããå¿
èŠããããŸãã
æšæºã®ç®è¡æŒç®åãšæ¯èŒæŒç®åã䜿çšããŠãªããžã§ã¯ããæäœã§ããŸãïŒ
-
ã
+=
ã
<
ã
>=
ã
<=>
>=
ãªã©ã
Time::Seconds
ãªããžã§ã¯ãã¯ãæ¥ä»ã®å·®ãšããŠè¿ãããŸãã
ææ¥ãšæãå€æŽããæ¹æ³ã¯ããããŸããããå€æããã ãã§ãã æåŸã®ãã¹ãïŒé±ãšæã®éå§ãšçµäºã決å®ããïŒã§ã¯ãäœæ¥ã®äžéšãæã§è¡ãå¿
èŠããããŸãããããã¯ããŸã䟿å©ã§ã¯ãããŸããã
äžè¬çã«ãã€ã³ã¿ãŒãã§ãŒã¹ã¯éåžžã«ã·ã³ãã«ã§çŽæçã§ã食ãæ°ããããŸããã å€ãã®å Žåãããã§ååã§ãã

ã¢ãžã¥ãŒã«ã¯XSã䜿çšããŠèšè¿°ãããŠãããéåžžã«é«éã«é
眮ãããŠããŸãã é倧ãªå¶éããããŸã-ã¢ã»ã³ããªã«ã¯Perl 5.18以éãå¿
èŠã§ãã
ããã©ã«ãã§ã¯ã解æã®ããã« '2013-03-05 23:45:56'ãšãã圢åŒã®æååãåãå
¥ããŸãã ãã ããå¥ã®åœ¢åŒãïŒã°ããŒãã«ã«ïŒæå®ã§ããŸãã
Panda::Date::string_format("%Y%m%d%H%M%S");
解æã«ãããããŒã«ã«ã¿ã€ã ãŸãŒã³ã®ãªããžã§ã¯ããäœæãããŸãã
圌女ã¯ã»ãã®äžç¬ã§ä»äºãããããšã¯ã§ããŸããã
è¿œå ã®ãªããžã§ã¯ãã䜿çšããã«èšç®ãå®è¡ã§ããŸãïŒééã§ã¯ãªãæ¥ä»ã§æ¥ä»ãè¿œå ããŸãïŒãã
Panda::Date::Int
䜿çšã§ããŸãã '3Y 2D'ïŒ3幎ãš2æ¥ïŒã®åœ¢åŒã®è¡ãŸãã¯
Panda::Date::Rel
ãªã©ã®ãªããžã§ã¯ããè¿œå
ARRAYREF
ãŸãããã®ãããªè¿œå ã¯ã
ARRAYREF
ãè¿œå ãããé«éã«
ARRAYREF
ãŸãã æ¥ä»ãæžç®ãããšã
Panda::Date::Int
ãªããžã§ã¯ããè¿ããŸãã
æ¯èŒã®ããã«ã
<=>
æŒç®åã®ã¿ã䜿çšãããŸãã
day_of_week
ãä»ããŠææ¥ãæäœã§ããŸãããé±ã¯æ¥ææ¥ããå§ãŸããŸãïŒå€0ïŒã ãŸãã¯ã
ewday
ã䜿çšãããšãé±ã¯æææ¥ïŒå€1ïŒããå§ãŸããæ¥ææ¥ïŒ7ïŒã§çµãããŸãã

å¥ã®äººæ°ã®ããã¢ãžã¥ãŒã«ã ãã®ç¹åŸŽçãªæ©èœã¯ãç¹å¥ãªãªããžã§ã¯ãã®ä»£ããã«åçŽãªé
åã䜿çšããŠæ¥ä»ãšæå»ã«é¢ããæ
å ±ãä¿åããããšã§ãã ã€ã³ã¿ãŒãã§ã€ã¹ã¯éåžžã«ã·ã³ãã«ã§ç°¡åã§ãã æ¥ä»ãæäœããããã®ããŸããŸãªé¢æ°ããããŸãããæéãæäœããããã®é¢æ°ã¯å°ãå°ãªãã§ãã ç§åäœã§æ£ç¢ºã«åäœããŸãã
ä»ã®ã¢ãžã¥ãŒã«ãšã¯ç°ãªããæéãšãšãã«æååãçæããããã®çµã¿èŸŒã¿ã®ã¡ã«ããºã ã¯ãããŸãããæ¥ä»ã®ã¿ã解æãå®è¡ããç¹å®ã®åœ¢åŒã§å®è¡ã§ããŸãã ãããã£ãŠã解æããã³æååçæã®ãã¹ãã«ã¯åå ããŸããã
æ¥ä»ãæ¯èŒããé¢æ°ã¯ãããŸããããã¢ãžã¥ãŒã«ã®èª¬æã§æšå¥šãããŠããããã«ãæ¥ä»ã®å·®ãèšç®ããé¢æ°ã䜿çšããããšã¯ããªãå¯èœã§ãã

ããªãæ°ããã¢ãžã¥ãŒã«ïŒçŸåšã®ããŒãžã§ã³ã¯0.22ïŒã§ããã®èšäºã®æºåãå§ãããšãã«åããŠåŠã³ãŸããã
ããç§ã§åäœããããšãã§ããŸãããããã©ã«ãã§ã¯ããã€ã¯ãç§ã®ç²ŸåºŠã®æéïŒããŒã«ã«ããã³UTCïŒã§ãªããžã§ã¯ããäœæããŸãã
å³å¯ã«å®çŸ©ããã圢åŒïŒISO 8601ïŒã§ã®ã¿æ¥ä»ã解æã§ããŸããããã¯ããŸã䟿å©ã§ã¯ãªããããããŸããã 解æãšã©ãŒãçºçãããšãäŸå€ãã¹ããŒãããŸãã
ç¹å¥ãªæ¹æ³ïŒ
plus_years
ã
plus_years
ã䜿çšããŠã±幎/æ/æ¥ãªã©ã®ç°¡åãªæäœãå®è¡ã§ããŸãã ä»ã®å€ãã®ã¢ãžã¥ãŒã«ãšã¯ç°ãªãã2013-01-31 + 1ãæãèšç®ãããšãçµæã¯2013-02-28ã«ãªããŸãã ç§ã®æèŠã§ã¯ãæ£ããããšã§ãã ãããããããã誰ããä»ã®è¡åãæåŸ
ããŠããŸãã
æ¥ä»ãæ¯èŒããã«ã¯ãæ°å€ãæ¯èŒããããã®æšæºæŒç®åã䜿çšããŸãïŒ
<=>
>=
ã
==
ã
>=
ãªã©ã
2ã€ã®æ¥ä»ã®ééã決å®ããæ¹æ³ã¯ãããŸããã ãã ãã
epoch
æ³ã§ååŸããæ代ã®å
é ããç§ãåŒãããšãã§ããŸãã ããã«ããå¶éã課ããã粟床ã倱ãããŸãããå Žåã«ãã£ãŠã¯ãã®ãããªç²ŸåºŠã§ååãããããŸããïŒ
Time::Piece
ãç§ã§åäœããŸãïŒã
with_day_of_week
ïŒæææ¥1ãæ¥ææ¥7ïŒã
with_day_of_month
ããã³mathã¡ãœããã䜿çšããŠãæ/é±ã®éå§/çµäºãå€å¥ã§ããŸãã æå»ããªã»ããããã«ã¯ã
with_*
ã¡ãœããã䜿çšããå¿
èŠããããŸãã
äžè¬çã«ãã€ã³ã¿ãŒãã§ã€ã¹ã¯éåžžã«ã·ã³ãã«ã§ç解ãããããç¹å®ã®æ©èœã¯ç®ç«ã¡ãŸããïŒããšãã°ã
Time::Piece
æ°åŠã®å Žåã®ããã«ïŒã
ãã¹ããšçµæ
ãã¹ãã³ãŒã
ã¯GitHubã§å
¥æã§ããŸã ã
ãã¹ãç°å¢ïŒ
Intel Core i5-2557M CPU @ 1.70GHzã4GbãMac OS X 10.10.2
Perl 5.20.1ïŒPerlbrewïŒ
ãã³ãããŒã¯ïŒ1.18ïŒ
䟿å®äžããã¹ãçµæã§ã¯ã¢ãžã¥ãŒã«ã®çç¥åã䜿çšãããŠããŸãïŒ
Date::Manip
=
D::M
ã
DateTime
=
DT
ãªã©ã
çŸåšã®çŸå°æéã§ãªããžã§ã¯ããäœæãã
Rate D::M DT T::PD::CP::D (new time) P::D (new) T::MP::D (now) D::M 3373/s -- -73% -97% -98% -99% -100% -100% -100% DT 12582/s 273% -- -89% -92% -98% -98% -98% -99% T::P 119244/s 3435% 848% -- -20% -81% -82% -86% -86% D::C 149116/s 4321% 1085% 25% -- -77% -78% -82% -82% P::D (new time) 644519/s 19009% 5022% 441% 332% -- -5% -22% -23% P::D (new) 677138/s 19976% 5282% 468% 354% 5% -- -18% -19% T::M 830755/s 24531% 6503% 597% 457% 29% 23% -- -1% P::D (now) 839971/s 24804% 6576% 604% 463% 30% 24% 1% --
Panda::Date
-ããããæéã ãããã
Time::Moment
äºæ³å€ã«ã»ãŒåããããéãã§ãïŒ
çŸåšã®UTCæéã§ãªããžã§ã¯ããäœæãã
Rate D::M DT T::PD::CP::DT::M D::M 1999/s -- -83% -98% -99% -100% -100% DT 11498/s 475% -- -90% -93% -98% -99% T::P 120130/s 5909% 945% -- -26% -82% -92% D::C 161964/s 8001% 1309% 35% -- -76% -89% P::D 671656/s 33495% 5741% 459% 315% -- -55% T::M 1476686/s 73761% 12743% 1129% 812% 120% --
ãã®æäœã§ã¯èª°ããé
ããªã£ãŠããŸãã
Time::Moment
以å€ã®ãã¹ãŠã ããã¯ãã£ãšéããªããæåã«æ¥ãŸãã
ç¹å®ã®ã¿ã€ã ãŸãŒã³ã§ã®æéã®æ±ºå®
ãã®ãã¹ãã§ã¯ããŸãŒã³å€äœã®æ±ºå®ã¯å®è¡ãããŸããã ãªãã»ããã¯äºåã«+10æéã«èšå®ãããŸãã ç°ãªãã¢ãžã¥ãŒã«ã¯ç°ãªããªãã»ãããæäŸããŸãã æ°ç§ã§ãæ°åã§ãã¿ã€ãã+1000ãã®3è¡ç®
Rate D::M DT D::CT::PP::DT::M D::M 1725/s -- -61% -95% -97% -100% -100% DT 4439/s 157% -- -87% -92% -99% -99% D::C 33939/s 1868% 665% -- -39% -92% -95% T::P 55584/s 3122% 1152% 64% -- -87% -92% P::D 438601/s 25327% 9782% 1192% 689% -- -40% T::M 735173/s 42520% 16463% 2066% 1223% 68% --
æååã®è§£æïŒæ¥ä»ãæå»ãããã³ãŸãŒã³ïŒ
Date::Calc
ã¯æ¥ä»ïŒæéãªãïŒã®ã¿ãç¹å®ã®åœ¢åŒã§ãã解æã§ããªãããããã®ãã¹ãã«ã¯åå ããŸããã
Rate D::M DT (Strptime) DT (ISO8601) T::PP::DT::M D::M 1138/s -- -43% -63% -99% -100% -100% DT (Strptime) 1993/s 75% -- -36% -98% -100% -100% DT (ISO8601) 3090/s 171% 55% -- -98% -100% -100% T::P 127471/s 11097% 6297% 4025% -- -84% -90% P::D 792571/s 69519% 39675% 25547% 522% -- -37% T::M 1266979/s 111190% 63482% 40899% 894% 60% --
ãã¿ãŒã³çæ
Date::Calc
ã¯ãæååãåå¥ã«ãã©ãŒãããããæ¹æ³ãç¥ããŸããããã®ãã¹ããã¹ãããããŸãã
Rate DT D::MT::PP::DT::M DT 10895/s -- -55% -95% -98% -98% D::M 24273/s 123% -- -88% -95% -95% T::P 202159/s 1756% 733% -- -57% -59% P::D 473339/s 4245% 1850% 134% -- -3% T::M 488258/s 4382% 1912% 142% 3% --
æ¥ä»ã®èšç®ïŒå ç®/æžç®ïŒ
Rate D::M DT T::PD::CT::MP::D (array) P::D (string) D::M 3493/s -- -21% -71% -88% -99% -99% -100% DT 4403/s 26% -- -64% -85% -99% -99% -100% T::P 12092/s 246% 175% -- -58% -98% -98% -99% D::C 29019/s 731% 559% 140% -- -94% -95% -97% T::M 487483/s 13854% 10972% 3932% 1580% -- -16% -48% P::D (array) 579109/s 16477% 13053% 4689% 1896% 19% -- -38% P::D (string) 934644/s 26655% 21129% 7630% 3121% 92% 61% --
æ¥ä»æ¯èŒ
ç°ãªãã¢ãžã¥ãŒã«ãç°ãªã粟床ã§æ©èœããããšãç解ããå¿
èŠããããŸãã
Time::Moment
and
DateTime
ããç§ã®ç²ŸåºŠïŒãããã®å Žåãæ¥ä»ã®å·®ã¯1ããç§ã§ããïŒãæ®ãã¯æ倧1ç§ïŒå·®ã¯1ç§ïŒã§ãã
Rate D::MD::C DT T::PP::DT::M D::M 27427/s -- -34% -64% -92% -99% -99% D::C 41837/s 53% -- -46% -88% -99% -99% DT 77067/s 181% 84% -- -79% -98% -98% T::P 363376/s 1225% 769% 372% -- -88% -89% P::D 3145500/s 11369% 7418% 3981% 766% -- -7% T::M 3399073/s 12293% 8025% 4311% 835% 8% --
ããé«ã粟床ã§äœæ¥ããŠãã
Time::Moment
ã1äœã«ãªãã®ã劚ããŸããã
æ¥ä»éã®ééã®æ±ºå®ïŒæ¥ä»ã®æžç®ïŒ
Rate DT D::MD::CT::PP::DT::M DT 6892/s -- -42% -88% -97% -99% -100% D::M 11964/s 74% -- -78% -95% -98% -99% D::C 55448/s 704% 363% -- -75% -93% -97% T::P 219763/s 3089% 1737% 296% -- -71% -89% P::D 767510/s 11036% 6315% 1284% 249% -- -63% T::M 2085234/s 30155% 17329% 3661% 849% 172% --
Time::Moment
æéã§åäœããŸãããæãå¶éãããæäœ-æžç®epoch
ïŒãã ããå€ãã®å Žåã¯ååã§ãïŒãå®è¡ããŸããDateTime
誰ãããæãé
ãåäœããŸãããããç§ãŸã§æ£ç¢ºã«åäœããå¯äžã®äººïŒããã¯äœåãªå ŽåããããŸãããããã§ãïŒçŸåšã®æ¥ä»ããã®é±ã®å§ãŸããšçµãããæã®æ±ºå®
äžåºŠã«è€æ°ã®æäœãå®è¡ããå
æ¬çãªãã¹ããé±/æã®çµãããšããŠãç§ã¯æçµæ¥ã®å§ãŸãïŒæé00:00:00ïŒã䜿çšããŸãã Rate D::M DT T::PD::CP::DT::M D::M 93.9/s -- -88% -99% -99% -100% -100% DT 790/s 741% -- -92% -96% -99% -100% T::P 10060/s 10608% 1173% -- -45% -93% -94% D::C 18309/s 19388% 2217% 82% -- -87% -90% P::D 138748/s 147586% 17458% 1279% 658% -- -22% T::M 177777/s 189129% 22397% 1667% 871% 28% --
ãã¹ãŠã®ãã¹ãã®çµæã®ãã£ãŒã
å€ã衚瀺ãããªãå Žåããããã¯ç¡èŠã§ããŸãïŒã¢ãžã¥ãŒã«ããŸã£ããé¢äžããªããã¹ããé€ãïŒã
çµè«
Time::Moment
-æéã®ã¢ãžã¥ãŒã«ã§ãããåæã«ããç§ã®ç²ŸåºŠã§åäœããŸããã«ã¹ã¿ã ãã³ãã¬ãŒãã«ãã解æãšæ¥ä»ã®æžç®ãé€ããå¿
èŠãªã»ãŒãã¹ãŠã®æäœãå®è¡ã§ããŸããç§ã®å人çãªãæ°ã«å
¥ãã¯ããã¹ãçµæãšã€ã³ã¿ãŒãã§ãŒã¹ã®å©äŸ¿æ§ã§ããDateTime
-ããã©ããããæãé
ãã¢ãžã¥ãŒã«ã®1ã€ãããããåæã«æãæ©èœçãªãã®ã®1ã€ã§ãããé«ã粟床ã§äœæ¥ããããšãã§ããŸããDate::Calc
-ã·ã³ãã«ã§çŽæçãªã€ã³ã¿ãŒãã§ãŒã¹ãåããåªããã¢ãžã¥ãŒã«ã競åä»ç€Ÿãšæ¯èŒããŠãå©ç¹ã¯ãããŸãããPanda::Date
-2çªç®ã«éãã¢ãžã¥ãŒã«ãTime::Moment
ç¹å¥ãªå©ç¹ãšæ¯èŒããŠãããã§ã¯ãªãããããå¶éããããšãéèŠã§ãïŒPerl 5.18ïŒãTime::Piece
-ããªãé«éãªã³ã¢ã¢ãžã¥ãŒã«ã§ãããæ°åŠã«ç¬èªã®æ©èœããããèæ
®ããå¿
èŠããããŸããDate::Manip
-éåžžã«ç¹æ®ãªã€ã³ã¿ãŒãã§ãŒã¹ãåããæãé
ãã¢ãžã¥ãŒã«ããã®äž»ãªå©ç¹ã¯ãã12æ10æ¥ååŸ8æããªã©ã®æååã解æã§ããããšã§ãããã®ãããªæ©èœãå¿
èŠãªå Žåã¯ããããããã®ã¢ãžã¥ãŒã«ã䜿çšã§ããŸãããèªåã®ã¿ã¹ã¯ã®ããã«ä»ã®ãœãªã¥ãŒã·ã§ã³ãæ¢ããŸããæ®å¿µãªãããç§ã¯äž»ãªç®æšãéæã§ããŸããã§ãã-ãã¹ãŠã®ã¿ã¹ã¯ã解決ããååã«è¿
éã«åäœã§ããã¢ãžã¥ãŒã«ã¯ãããŸãããããããæ確ãªãªãŒããŒãããŸã- Time::Moment
ããããŠãç§ã®æšå¥šäºé
ã¯æ¬¡ã®ãšããã§ããæ©èœãååãªå Žæã§äœ¿çšãTime::Moment
ãäžè¶³ããŠããæ©èœãã¢ãžã¥ãŒã«ã§éããŸãTime::Piece
ïŒåžžã«ã³ã¢ã¢ãžã¥ãŒã«ãšããŠäœ¿çšã§ããããïŒãŸãã¯DateTime
ïŒææªã®å ŽåïŒãé¢é£èšäºïŒwww.perl.com/pub/2003/03/13/datetime.htmlblogs.perl.org/users/chansen/2014/08/timemoment-vs-datetime.htmlperltricks.com/article/148/2015/2/2/Time--Moment-can-save-time