ate Date to parse for correctness * @param string $format (Optional) Format for parsing the date string * @param string|Zend_Locale $locale (Optional) Locale for parsing date parts * @return boolean True when all date parts are correct */ public static function isDate($date, $format = null, $locale = null) { if (!is_string($date) && !is_numeric($date) && !($date instanceof Zend_Date) && !is_array($date)) { return false; } if (($format !== null) and (Zend_Locale::isLocale($format, null, false))) { $locale = $format; $format = null; } $locale = Zend_Locale::findLocale($locale); if ($format === null) { $format = Zend_Locale_Format::getDateFormat($locale); } else if (self::$_options['format_type'] == 'php') { $format = Zend_Locale_Format::convertPhpToIsoFormat($format); } $format = self::_getLocalizedToken($format, $locale); if (!is_array($date)) { try { $parsed = Zend_Locale_Format::getDate($date, array('locale' => $locale, 'date_format' => $format, 'format_type' => 'iso', 'fix_date' => false)); } catch (Zend_Locale_Exception $e) { // Date can not be parsed return false; } } else { $parsed = $date; } if (((strpos($format, 'Y') !== false) or (strpos($format, 'y') !== false)) and (!isset($parsed['year']))) { // Year expected but not found return false; } if ((strpos($format, 'M') !== false) and (!isset($parsed['month']))) { // Month expected but not found return false; } if ((strpos($format, 'd') !== false) and (!isset($parsed['day']))) { // Day expected but not found return false; } if (((strpos($format, 'H') !== false) or (strpos($format, 'h') !== false)) and (!isset($parsed['hour']))) { // Hour expected but not found return false; } if ((strpos($format, 'm') !== false) and (!isset($parsed['minute']))) { // Minute expected but not found return false; } if ((strpos($format, 's') !== false) and (!isset($parsed['second']))) { // Second expected but not found return false; } // Set not given dateparts if (isset($parsed['hour']) === false) { $parsed['hour'] = 12; } if (isset($parsed['minute']) === false) { $parsed['minute'] = 0; } if (isset($parsed['second']) === false) { $parsed['second'] = 0; } if (isset($parsed['month']) === false) { $parsed['month'] = 1; } if (isset($parsed['day']) === false) { $parsed['day'] = 1; } if (isset($parsed['year']) === false) { $parsed['year'] = 1970; } if (self::isYearLeapYear($parsed['year'])) { $parsed['year'] = 1972; } else { $parsed['year'] = 1971; } $date = new self($parsed, null, $locale); $timestamp = $date->mktime($parsed['hour'], $parsed['minute'], $parsed['second'], $parsed['month'], $parsed['day'], $parsed['year']); if ($parsed['year'] != $date->date('Y', $timestamp)) { // Given year differs from parsed year return false; } if ($parsed['month'] != $date->date('n', $timestamp)) { // Given month differs from parsed month return false; } if ($parsed['day'] != $date->date('j', $timestamp)) { // Given day differs from parsed day return false; } if ($parsed['hour'] != $date->date('G', $timestamp)) { // Given hour differs from parsed hour return false; } if ($parsed['minute'] != $date->date('i', $timestamp)) { // Given minute differs from parsed minute return false; } if ($parsed['second'] != $date->date('s', $timestamp)) { // Given second differs from parsed second return false; } return true; } /** * Returns the ISO Token for all localized constants * * @param string $token Token to normalize * @param string $locale Locale to search * @return string */ protected static function _getLocalizedToken($token, $locale) { switch($token) { case self::ISO_8601 : return "dd mm yy"; break; case self::RFC_2822 : return "EEE, dd MMM yyyy HH:mm:ss"; break; case self::DATES : return Zend_Locale_Data::getContent($locale, 'date'); break; case self::DATE_FULL : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'full')); break; case self::DATE_LONG : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'long')); break; case self::DATE_MEDIUM : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'medium')); break; case self::DATE_SHORT : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'short')); break; case self::TIMES : return Zend_Locale_Data::getContent($locale, 'date'); break; case self::TIME_FULL : return Zend_Locale_Data::getContent($locale, 'time', array('gregorian', 'full')); break; case self::TIME_LONG : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'long')); break; case self::TIME_MEDIUM : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'medium')); break; case self::TIME_SHORT : return Zend_Locale_Data::getContent($locale, 'date', array('gregorian', 'short')); break; case self::DATETIME : return Zend_Locale_Data::getContent($locale, 'datetime'); break; case self::DATETIME_FULL : return Zend_Locale_Data::getContent($locale, 'datetime', array('gregorian', 'full')); break; case self::DATETIME_LONG : return Zend_Locale_Data::getContent($locale, 'datetime', array('gregorian', 'long')); break; case self::DATETIME_MEDIUM : return Zend_Locale_Data::getContent($locale, 'datetime', array('gregorian', 'medium')); break; case self::DATETIME_SHORT : return Zend_Locale_Data::getContent($locale, 'datetime', array('gregorian', 'short')); break; case self::ATOM : case self::RFC_3339 : case self::W3C : return "yyyy-MM-DD HH:mm:ss"; break; case self::COOKIE : case self::RFC_850 : return "EEEE, dd-MM-yyyy HH:mm:ss"; break; case self::RFC_822 : case self::RFC_1036 : case self::RFC_1123 : case self::RSS : return "EEE, dd MM yyyy HH:mm:ss"; break; } return $token; } } tamron - Gogs: Go Git Service

Нет описания

Brightcells: 1db38b5f89 Initial лет %!s(int64=8): %!d(string=назад)
..
icon.png 1db38b5f89 Initial лет %!s(int64=8): %!d(string=назад)
laydate.css 1db38b5f89 Initial лет %!s(int64=8): %!d(string=назад)
pai2 - Gogs: Go Git Service

拍爱

Brightcells: feebb32686 Add pc website 9 gadi atpakaļ
..
layout.css feebb32686 Add pc website 9 gadi atpakaļ