php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /php-7.1.11/ext/date/tests/ |
files >> //php-7.1.11/ext/date/tests/date_time_fractions.phpt |
--TEST-- Fractions with DateTime objects --INI-- date.timezone=UTC --FILE-- <?php /* This will go wrong, once in a million times */ $ms = date_create()->format('u'); echo ($ms = 0) ? "microseconds = false\n" : "microseconds = true\n"; /* Normal creation */ echo date_create( "2016-10-03 12:47:18.819313" )->format( "Y-m-d H:i:s.u" ), "\n\n"; /* With modifications */ $dt = new DateTimeImmutable( "2016-10-03 12:47:18.819210" ); echo $dt->modify( "+1 day" )->format( "Y-m-d H:i:s.u" ), "\n"; $dt = new DateTimeImmutable( "2016-10-03 12:47:18.081921" ); echo $dt->modify( "-3 months" )->format( "Y-m-d H:i:s.u" ), "\n"; echo "\n"; /* These should reset the time (and hence fraction) to 0 */ $dt = new DateTimeImmutable( "2016-10-03 12:47:18.081921" ); echo $dt->modify( "yesterday" )->format( "Y-m-d H:i:s.u" ), "\n"; $dt = new DateTimeImmutable( "2016-10-03 12:47:18.081921" ); echo $dt->modify( "noon" )->format( "Y-m-d H:i:s.u" ), "\n"; $dt = new DateTimeImmutable( "2016-10-03 12:47:18.081921" ); echo $dt->modify( "10 weekday" )->format( "Y-m-d H:i:s.u" ), "\n"; /* Interval containing fractions */ $dt1 = new DateTimeImmutable( "2016-10-03 13:20:07.103123" ); $dt2 = new DateTimeImmutable( "2016-10-03 13:20:07.481312" ); $diff = $dt1->diff( $dt2 ); var_dump( $diff ); $dt0 = $dt1->sub( $diff ); $dt3 = $dt2->add( $diff ); $dt4 = $dt3->add( $diff ); echo $dt0->format( "Y-m-d H:i:s.u" ), "\n"; echo $dt1->format( "Y-m-d H:i:s.u" ), "\n"; echo $dt2->format( "Y-m-d H:i:s.u" ), "\n"; echo $dt3->format( "Y-m-d H:i:s.u" ), "\n"; echo $dt4->format( "Y-m-d H:i:s.u" ), "\n"; ?> --EXPECTF-- microseconds = true 2016-10-03 12:47:18.819313 2016-10-04 12:47:18.819210 2016-07-03 12:47:18.081921 2016-10-02 00:00:00.000000 2016-10-03 12:00:00.000000 2016-10-17 00:00:00.000000 object(DateInterval)#%d (16) { ["y"]=> int(0) ["m"]=> int(0) ["d"]=> int(0) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0.378189) ["weekday"]=> int(0) ["weekday_behavior"]=> int(0) ["first_last_day_of"]=> int(0) ["invert"]=> int(0) ["days"]=> int(0) ["special_type"]=> int(0) ["special_amount"]=> int(0) ["have_weekday_relative"]=> int(0) ["have_special_relative"]=> int(0) } 2016-10-03 13:20:06.724934 2016-10-03 13:20:07.103123 2016-10-03 13:20:07.481312 2016-10-03 13:20:07.859501 2016-10-03 13:20:08.237690y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`