File: bug64887.phpt

package info (click to toggle)
php8.4 8.4.16-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 211,276 kB
  • sloc: ansic: 1,176,142; php: 35,419; sh: 11,964; cpp: 7,208; pascal: 4,951; javascript: 3,091; asm: 2,817; yacc: 2,411; makefile: 696; xml: 446; python: 301; awk: 148
file content (46 lines) | stat: -rw-r--r-- 896 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
--TEST--
Bug #64887: Allow DateTime modification with subsecond items
--INI--
date.timezone=UTC
--FILE--
<?php
$tests = [
    '+1 ms',
    '-2 msec',
    '+3 msecs',
    '-4 millisecond',
    '+5 milliseconds',

    '-6 usec',
    '+7 usecs',
    '-8 microsecond',
    '+9 microseconds',
    '-10 µs',
    '+11 µsec',
    '-12 µsecs',

    '+8 msec -2 µsec',
];

$datetime = new DateTimeImmutable( "2016-10-07 13:25:50" );

foreach ( $tests as $test )
{
    echo $datetime->modify( $test )->format( 'Y-m-d H:i:s.u' ), "\n";
}

?>
--EXPECT--
2016-10-07 13:25:50.001000
2016-10-07 13:25:49.998000
2016-10-07 13:25:50.003000
2016-10-07 13:25:49.996000
2016-10-07 13:25:50.005000
2016-10-07 13:25:49.999994
2016-10-07 13:25:50.000007
2016-10-07 13:25:49.999992
2016-10-07 13:25:50.000009
2016-10-07 13:25:49.999990
2016-10-07 13:25:50.000011
2016-10-07 13:25:49.999988
2016-10-07 13:25:50.007998