function testSet() { $date = new IntlDateTime('now', null, 'gregorian'); $date->set('2009/1/2 01:00 PM'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2009/01/02 13:00:00'); $date->set('2009-10-25'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2009/10/25 00:00:00'); $date->set('09/05/02 14:00'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2009/05/02 14:00:00'); $date->set('14 Jan 2010'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2010/01/14 00:00:00'); $date->set('Wed, 7 Jan 09'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2009/01/07 00:00:00'); $date->set('Monday, 15 March 2010 06:22:30 PM'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2010/03/15 18:22:30'); $date->set(strtotime('25 Dec 2009')); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2009/12/25 00:00:00'); $date->set(new DateTime('15 Jan 2010')); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2010/01/15 00:00:00'); $date->set('now'); $result = $date->getTimestamp(); $expected = strtotime('now'); $this->assertEquals($result, $expected); $date->set('yesterday'); $result = $date->getTimestamp(); $expected = strtotime('yesterday'); $this->assertEquals($result, $expected); $date->setTimezone('Asia/Tehran'); $date->set('2010/01/10', 'UTC'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2010/01/10 03:30:00'); $date->set('2010/07/10', 'UTC'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2010/07/10 04:30:00'); $date->set('20100412182457', null, 'yyyyMMddHHmmss'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '2010/04/12 18:24:57'); $date->setLocale('fa'); $date->set('دوشنبه ۱۵ مارس ۲۰۱۰ ۱۲:۳۲:۴۵'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '۲۰۱۰/۰۳/۱۵ ۱۲:۳۲:۴۵'); $date->setCalendar('persian'); $date->set('۲۳ دی ۱۳۸۸'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '۱۳۸۸/۱۰/۲۳ ۰۰:۰۰:۰۰'); $date->set('۱۳۸۸-۱۱-۲۲ ۲۳:۵۰'); $result = $date->format('yyyy/MM/dd HH:mm:ss'); $this->assertEquals($result, '۱۳۸۸/۱۱/۲۲ ۲۳:۵۰:۰۰'); }