File: date-time-modify-times.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (47 lines) | stat: -rw-r--r-- 1,233 bytes parent folder | download | duplicates (2)
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
47
--TEST--
Test for DateTime::modify() with absolute time statements
--INI--
date.timezone=Europe/London
--FILE--
<?php
$tests = array(
    '2010-12-15 19:42:45 UTC' => array(
        'october 23:00', // October 23rd, with a broken time
        'back of 4pm',
        'next week monday',
        'next week monday 10am',
        'tuesday noon',
        'first monday of January 2011',
        'first monday of January 2011 09:00',
    ),
    '2010-12-15 19:42:45' => array(
        'october 23:00', // October 23rd, with a broken time
        'march 28, 00:15',
        'march 28, 01:15', // doesn't exist because of DST
        'march 28, 02:15',
    ),
);

foreach ( $tests as $start => $data )
{
    foreach ( $data as $test )
    {
        echo date_create( $start )
            ->modify( $test )
            ->format( DateTime::RFC2822 ), "\n";
    }
}
echo "\n";
?>
--EXPECT--
Fri, 15 Oct 2010 23:00:00 +0000
Wed, 15 Dec 2010 16:15:00 +0000
Mon, 20 Dec 2010 00:00:00 +0000
Mon, 20 Dec 2010 10:00:00 +0000
Tue, 21 Dec 2010 12:00:00 +0000
Mon, 03 Jan 2011 00:00:00 +0000
Mon, 03 Jan 2011 09:00:00 +0000
Fri, 15 Oct 2010 23:00:00 +0100
Sun, 28 Mar 2010 00:15:00 +0000
Sun, 28 Mar 2010 02:15:00 +0100
Sun, 28 Mar 2010 02:15:00 +0100