parseLocalizedDate() public static method

.. - i18n: Today, Yesterday, Tomorrow
public static parseLocalizedDate ( string $date, string | null $format = null, string $type = 'start' ) : string
$date string to parse
$format string | null Format to parse (null = auto)
$type string - start: first second of this interval - end: last second of this interval
return string timestamp
コード例 #1
0
ファイル: TimeTest.php プロジェクト: alescx/cakephp-tools
 /**
  * TimeTest::testParseLocalizedDate()
  *
  * @return void
  */
 public function testParseLocalizedDate()
 {
     $ret = $this->Time->parseLocalizedDate('15-Feb-2009', 'j-M-Y', 'start');
     //$this->debug($ret);
     $this->assertEquals('2009-02-15 00:00:00', $ret);
     // problem when not passing months or days as well - no way of knowing how exact the date was
     $ret = $this->Time->parseLocalizedDate('2009', 'Y', 'start');
     //pr($ret);
     //$this->assertEquals($ret, '2009-01-01 00:00:00');
     $ret = $this->Time->parseLocalizedDate('Feb 2009', 'M Y', 'start');
     //pr($ret);
     //$this->assertEquals($ret, '2009-02-01 00:00:00');
     $values = [[__d('tools', 'Today'), [date(FORMAT_DB_DATETIME, mktime(0, 0, 0, date('m'), date('d'), date('Y'))), date(FORMAT_DB_DATETIME, mktime(23, 59, 59, date('m'), date('d'), date('Y')))]], ['2010', ['2010-01-01 00:00:00', '2010-12-31 23:59:59']], ['23.02.2011', ['2011-02-23 00:00:00', '2011-02-23 23:59:59']], ['22/02/2011', ['2011-02-22 00:00:00', '2011-02-22 23:59:59']], ['3/2/11', ['2011-02-03 00:00:00', '2011-02-03 23:59:59']]];
     foreach ($values as $v) {
         $ret = $this->Time->parseLocalizedDate($v[0], null, 'start');
         //pr($ret);
         $this->assertEquals($v[1][0], $ret);
         $ret = $this->Time->parseLocalizedDate($v[0], null, 'end');
         //pr($ret);
         $this->assertEquals($v[1][1], $ret);
     }
 }