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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
<?php
Prado::using('System.I18N.core.DateFormat');
/**
* @package System.I18N.core
*/
class DateFormatTest extends PHPUnit_Framework_TestCase {
public function testStandardPatterns() {
$dateFormatter = new DateFormat();
$time = @mktime(9, 9, 9, 9, 1, 2004);
$zone = @date('T', $time);
//var_dump(date('c',$time));
//for ShortDatePattern "M/d/yy"
$this->assertEquals('9/1/04', $dateFormatter->format($time, 'd'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'d'))));
//for LongDatePattern "MMMM d, yyyy"
$wants = 'September 1, 2004';
$this->assertEquals($wants, $dateFormatter->format($time, 'D'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'D'))));
//for Full date and time "MMMM d, yyyy h:mm a"
$wants = 'September 1, 2004 9:09 AM';
$this->assertEquals($wants, $dateFormatter->format($time, 'f'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'f'))));
//for FullDateTimePattern "MMMM d, yyyy h:mm:ss a z"
$wants = 'September 1, 2004 9:09:09 AM '.$zone;
$this->assertEquals($wants, $dateFormatter->format($time, 'F'));
//for General "M/d/yy h:mm a"
$wants = '9/1/04 9:09 AM';
$this->assertEquals($wants, $dateFormatter->format($time, 'g'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'g'))));
//for General "M/d/yy h:mm:ss a z"
$wants = '9/1/04 9:09:09 AM '.$zone;
$this->assertEquals($wants, $dateFormatter->format($time, 'G'));
//for MonthDayPattern "MMMM dd" (invariant)
$wants = 'September 01';
$this->assertEquals($wants, $dateFormatter->format($time, 'm'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'m'))));
//for RFC1123Pattern "EEE, dd MMM yyyy HH:mm:ss" (invariant)
$wants = 'Wed, 01 Sep 2004 09:09:09';
$this->assertEquals($wants, $dateFormatter->format($time, 'r'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'r'))));
//for SortableDateTimePattern "yyyy-MM-ddTHH:mm:ss" (invariant)
$wants = '2004-09-01T09:09:09';
$this->assertEquals($wants, $dateFormatter->format($time, 's'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'s'))));
//for ShortTimePattern "H:mm a"
$wants = '9:09 AM';
$this->assertEquals($wants, $dateFormatter->format($time, 't'));
//(date('c',strtotime($dateFormatter->format($time,'t'))));
//for LongTimePattern "H:mm:ss a z"
$wants = '9:09:09 AM '.$zone;
$this->assertEquals($wants, $dateFormatter->format($time, 'T'));
//for UniversalSortableDateTimePattern "yyyy-MM-dd HH:mm:ss z"
//(invariant)
$wants = '2004-09-01 09:09:09 '.$zone;
$this->assertEquals($wants, $dateFormatter->format($time, 'u'));
//for Full date and time "EEEE dd MMMM yyyy HH:mm:ss" (invariant)
$wants = 'Wednesday 01 September 2004 09:09:09';
$this->assertEquals($wants, $dateFormatter->format($time, 'U'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'U'))));
//for YearMonthPattern "yyyy MMMM" (invariant)
$wants = '2004 September';
$this->assertEquals($wants, $dateFormatter->format($time, 'y'));
//var_dump(date('c',strtotime($dateFormatter->format($time,'y'))));
}
public function testCustomPatterns() {
$dateFormatter = new DateFormat();
$time = @mktime(9, 9, 9, 9, 1, 2004);
$pattern = "'Hello' EEEE, 'it should be' MMM yyyy HH:mm:ss!!!";
$wants = 'Hello Wednesday, it should be Sep 2004 09:09:09!!!';
$this->assertEquals($wants, $dateFormatter->format($time, $pattern));
}
}
|