Пример #1
0
 /**
  * @covers Xmlnuke\Util\DateUtil::Validate
  * @todo   Implement testValidate().
  */
 public function testValidate()
 {
     $date1 = '2014/01/30';
     $status = DateUtil::Validate($date1, DATEFORMAT::YMD);
     $this->assertTrue($status);
     $date1 = '2014/01/30';
     $status = DateUtil::Validate($date1, DATEFORMAT::DMY);
     $this->assertFalse($status);
     $date1 = '2014-01-30';
     $status = DateUtil::Validate($date1, DATEFORMAT::YMD);
     // Different separators ('-' and '/')
     $this->assertFalse($status);
     $date1 = '2001/02/29';
     $status = DateUtil::Validate($date1, DATEFORMAT::YMD);
     $this->assertFalse($status);
     $date1 = '2000/02/29';
     $status = DateUtil::Validate($date1, DATEFORMAT::YMD);
     $this->assertTrue($status);
     $date1 = '2000/02/29 23:45:59';
     $status = DateUtil::Validate($date1, DATEFORMAT::YMD, '/');
     $this->assertTrue($status);
     $date1 = '2000/02/29 23:45';
     $status = DateUtil::Validate($date1, DATEFORMAT::YMD);
     $this->assertTrue($status);
 }
Пример #2
0
 public static function GetDateParts($date, $dateFormat = DATEFORMAT::YMD, $separator = "/")
 {
     if (!DateUtil::Validate($date, $dateFormat, $separator, true)) {
         if ($dateFormat == DATEFORMAT::DMY || $dateFormat == DATEFORMAT::MDY) {
             $reg = array("00", "00", "0000", "00", "00", "00");
         } else {
             $reg = array("0000", "00", "00", "00", "00", "00");
         }
     } else {
         $reg = preg_split("/[^0-9]/", $date);
         while (sizeof($reg) < 6) {
             $reg[sizeof($reg)] = '00';
         }
     }
     $datePart = array();
     if ($dateFormat == DATEFORMAT::DMY || $dateFormat == DATEFORMAT::MDY) {
         $datePart[DateParts::DATE] = sprintf("%02d{$separator}%02d{$separator}%04d", $reg[0], $reg[1], $reg[2]);
     } else {
         $datePart[DateParts::DATE] = sprintf("%04d{$separator}%02d{$separator}%02d", $reg[0], $reg[1], $reg[2]);
     }
     switch ($dateFormat) {
         case DATEFORMAT::DMY:
             $datePart[DateParts::DAY] = $reg[0];
             $datePart[DateParts::MONTH] = $reg[1];
             $datePart[DateParts::YEAR] = $reg[2];
             break;
         case DATEFORMAT::MDY:
             $datePart[DateParts::DAY] = $reg[1];
             $datePart[DateParts::MONTH] = $reg[0];
             $datePart[DateParts::YEAR] = $reg[2];
             break;
         default:
             $datePart[DateParts::DAY] = $reg[2];
             $datePart[DateParts::MONTH] = $reg[1];
             $datePart[DateParts::YEAR] = $reg[0];
             break;
     }
     $datePart[DateParts::TIME] = sprintf("%02d:%02d:%02d", $reg[3], $reg[4], $reg[5]);
     $datePart[DateParts::HOUR] = sprintf("%02d", $reg[3]);
     $datePart[DateParts::MINUTE] = sprintf("%02d", $reg[4]);
     $datePart[DateParts::SECOND] = sprintf("%02d", $reg[5]);
     $datePart[DateParts::FULL] = $datePart[DateParts::DATE] . " " . $datePart[DateParts::TIME];
     return $datePart;
 }