Remove leading 0 in ms of date caster
This commit is contained in:
parent
0f2563c165
commit
94956ebae4
@ -32,7 +32,7 @@ class DateCaster
|
||||
;
|
||||
|
||||
$a = array();
|
||||
$a[$prefix.'date'] = new ConstStub($d->format('Y-m-d H:i:s.u '.($location ? 'e (P)' : 'P')), $title);
|
||||
$a[$prefix.'date'] = new ConstStub($d->format('Y-m-d H:i:'.self::formatSeconds($d->format('s'), $d->format('u')).($location ? ' e (P)' : ' P')), $title);
|
||||
|
||||
$stub->class .= $d->format(' @U');
|
||||
|
||||
@ -59,7 +59,7 @@ class DateCaster
|
||||
;
|
||||
|
||||
if (\PHP_VERSION_ID >= 70100 && isset($i->f)) {
|
||||
$format .= $i->h || $i->i || $i->s || $i->f ? '%H:%I:%S.%F' : '';
|
||||
$format .= $i->h || $i->i || $i->s || $i->f ? '%H:%I:'.self::formatSeconds($i->s, $i->f) : '';
|
||||
} else {
|
||||
$format .= $i->h || $i->i || $i->s ? '%H:%I:%S' : '';
|
||||
}
|
||||
@ -79,4 +79,9 @@ class DateCaster
|
||||
|
||||
return $filter & Caster::EXCLUDE_VERBOSE ? $z : $z + $a;
|
||||
}
|
||||
|
||||
private static function formatSeconds($s, $us)
|
||||
{
|
||||
return sprintf('%02d.%s', $s, 0 === ($len = strlen($t = rtrim($us, '0'))) ? '0' : ($len <= 3 ? str_pad($t, 3, '0') : $us));
|
||||
}
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ EODUMP;
|
||||
|
||||
$xDump = <<<'EODUMP'
|
||||
array:1 [
|
||||
"\x00~\x00date" => 2017-08-30 00:00:00.000000 Europe/Zurich (+02:00)
|
||||
"\x00~\x00date" => 2017-08-30 00:00:00.0 Europe/Zurich (+02:00)
|
||||
]
|
||||
EODUMP;
|
||||
|
||||
@ -61,7 +61,7 @@ EODUMP;
|
||||
$xDump = <<<'EODUMP'
|
||||
Symfony\Component\VarDumper\Caster\ConstStub {
|
||||
+type: 1
|
||||
+class: "2017-08-30 00:00:00.000000 Europe/Zurich (+02:00)"
|
||||
+class: "2017-08-30 00:00:00.0 Europe/Zurich (+02:00)"
|
||||
+value: """
|
||||
Wednesday, August 30, 2017\n
|
||||
+%a from now\n
|
||||
@ -81,8 +81,15 @@ EODUMP;
|
||||
public function provideDateTimes()
|
||||
{
|
||||
return array(
|
||||
array('2017-04-30 00:00:00.000000', 'Europe/Zurich', '2017-04-30 00:00:00.000000 Europe/Zurich (+02:00)'),
|
||||
array('2017-04-30 00:00:00.000000', '+02:00', '2017-04-30 00:00:00.000000 +02:00'),
|
||||
array('2017-04-30 00:00:00.000000', 'Europe/Zurich', '2017-04-30 00:00:00.0 Europe/Zurich (+02:00)'),
|
||||
array('2017-04-30 00:00:00.000000', '+02:00', '2017-04-30 00:00:00.0 +02:00'),
|
||||
|
||||
array('2017-04-30 00:00:00.100000', '+02:00', '2017-04-30 00:00:00.100 +02:00'),
|
||||
array('2017-04-30 00:00:00.120000', '+02:00', '2017-04-30 00:00:00.120 +02:00'),
|
||||
array('2017-04-30 00:00:00.123000', '+02:00', '2017-04-30 00:00:00.123 +02:00'),
|
||||
array('2017-04-30 00:00:00.123400', '+02:00', '2017-04-30 00:00:00.123400 +02:00'),
|
||||
array('2017-04-30 00:00:00.123450', '+02:00', '2017-04-30 00:00:00.123450 +02:00'),
|
||||
array('2017-04-30 00:00:00.123456', '+02:00', '2017-04-30 00:00:00.123456 +02:00'),
|
||||
);
|
||||
}
|
||||
|
||||
@ -162,7 +169,7 @@ EODUMP;
|
||||
public function provideIntervals()
|
||||
{
|
||||
$i = new \DateInterval('PT0S');
|
||||
$ms = \PHP_VERSION_ID >= 70100 && isset($i->f) ? '.000000' : '';
|
||||
$ms = \PHP_VERSION_ID >= 70100 && isset($i->f) ? '.0' : '';
|
||||
|
||||
return array(
|
||||
array('PT0S', 0, '0s', '0s'),
|
||||
|
Reference in New Issue
Block a user