date.php.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 1,690 行 · 第 1/5 页
SVN-BASE
1,690 行
* @return string */ public function __toString() { return $this->toString(null, $this->_Locale); } /** * Returns a integer representation of the object * But returns false when the given part is no value f.e. Month-Name * * @param string|integer|Zend_Date $part OPTIONAL Defines the date or datepart to return as integer * @return integer|false */ public function toValue($part = null) { $result = $this->get($part); if (is_numeric($result)) { return intval("$result"); } else { return false; } } /** * Returns a representation of a date or datepart * This could be for example a localized monthname, the time without date, * the era or only the fractional seconds. There are about 50 different supported date parts. * For a complete list of supported datepart values look into the docu * * @param string $part OPTIONAL Part of the date to return, if null the timestamp is returned * @param string|Zend_Locale $locale OPTIONAL Locale for parsing input * @return integer|string date or datepart */ public function get($part = null, $locale = null) { if ($locale === null) { $locale = $this->getLocale(); } if (Zend_Locale::isLocale($part)) { $locale = $part; $part = null; } if ($part === null) { $part = Zend_Date::TIMESTAMP; } if (!defined("self::".$part)) { return $this->toString($part, $locale); } switch($part) { // day formats case Zend_Date::DAY : return $this->date('d', $this->getUnixTimestamp(), false); break; case Zend_Date::WEEKDAY_SHORT : $weekday = strtolower($this->date('D', $this->getUnixTimestamp(), false)); $day = Zend_Locale_Data::getContent($locale, 'day', array('gregorian', 'format', 'wide', $weekday)); return substr($day[$weekday], 0, 3); break; case Zend_Date::DAY_SHORT : return $this->date('j', $this->getUnixTimestamp(), false); break; case Zend_Date::WEEKDAY : $weekday = strtolower($this->date('D', $this->getUnixTimestamp(), false)); $day = Zend_Locale_Data::getContent($locale, 'day', array('gregorian', 'format', 'wide', $weekday)); return $day[$weekday]; break; case Zend_Date::WEEKDAY_8601 : return $this->date('N', $this->getUnixTimestamp(), false); break; case Zend_Date::DAY_SUFFIX : return $this->date('S', $this->getUnixTimestamp(), false); break; case Zend_Date::WEEKDAY_DIGIT : return $this->date('w', $this->getUnixTimestamp(), false); break; case Zend_Date::DAY_OF_YEAR : return $this->date('z', $this->getUnixTimestamp(), false); break; case Zend_Date::WEEKDAY_NARROW : $weekday = strtolower($this->date('D', $this->getUnixTimestamp(), false)); $day = Zend_Locale_Data::getContent($locale, 'day', array('gregorian', 'format', 'abbreviated', $weekday)); return substr($day[$weekday], 0, 1); break; case Zend_Date::WEEKDAY_NAME : $weekday = strtolower($this->date('D', $this->getUnixTimestamp(), false)); $day = Zend_Locale_Data::getContent($locale, 'day', array('gregorian', 'format', 'abbreviated', $weekday)); return $day[$weekday]; break; // week formats case Zend_Date::WEEK : return $this->date('W', $this->getUnixTimestamp(), false); break; // month formats case Zend_Date::MONTH_NAME : $month = $this->date('n', $this->getUnixTimestamp(), false); $mon = Zend_Locale_Data::getContent($locale, 'month', array('gregorian', 'format', 'wide', $month)); return $mon[$month]; break; case Zend_Date::MONTH : return $this->date('m', $this->getUnixTimestamp(), false); break; case Zend_Date::MONTH_NAME_SHORT : $month = $this->date('n', $this->getUnixTimestamp(), false); $mon = Zend_Locale_Data::getContent($locale, 'month', array('gregorian', 'format', 'abbreviated', $month)); return $mon[$month]; break; case Zend_Date::MONTH_SHORT : return $this->date('n', $this->getUnixTimestamp(), false); break; case Zend_Date::MONTH_DAYS : return $this->date('t', $this->getUnixTimestamp(), false); break; case Zend_Date::MONTH_NAME_NARROW : $month = $this->date('n', $this->getUnixTimestamp(), false); $mon = Zend_Locale_Data::getContent($locale, 'month', array('gregorian', 'format', 'abbreviated', $month)); return substr($mon[$month], 0, 1); break; // year formats case Zend_Date::LEAPYEAR : return $this->date('L', $this->getUnixTimestamp(), false); break; case Zend_Date::YEAR_8601 : return $this->date('o', $this->getUnixTimestamp(), false); break; case Zend_Date::YEAR : return $this->date('Y', $this->getUnixTimestamp(), false); break; case Zend_Date::YEAR_SHORT : return $this->date('y', $this->getUnixTimestamp(), false); break; case Zend_Date::YEAR_SHORT_8601 : $year = $this->date('o', $this->getUnixTimestamp(), false); return substr($year, -2); break; // time formats case Zend_Date::MERIDIEM : $am = $this->date('a', $this->getUnixTimestamp(), false); $amlocal = Zend_Locale_Data::getContent($locale, 'daytime', 'gregorian'); return $amlocal[$am]; break; case Zend_Date::SWATCH : return $this->date('B', $this->getUnixTimestamp(), false); break; case Zend_Date::HOUR_SHORT_AM : return $this->date('g', $this->getUnixTimestamp(), false); break; case Zend_Date::HOUR_SHORT : return $this->date('G', $this->getUnixTimestamp(), false); break; case Zend_Date::HOUR_AM : return $this->date('h', $this->getUnixTimestamp(), false); break; case Zend_Date::HOUR : return $this->date('H', $this->getUnixTimestamp(), false); break; case Zend_Date::MINUTE : return $this->date('i', $this->getUnixTimestamp(), false); break; case Zend_Date::SECOND : return $this->date('s', $this->getUnixTimestamp(), false); break; case Zend_Date::MINUTE_SHORT : return $this->date('i', $this->getUnixTimestamp(), false); break; case Zend_Date::SECOND_SHORT : return $this->date('s', $this->getUnixTimestamp(), false); break; case Zend_Date::MILLISECOND : return $this->_Fractional; break; // timezone formats case Zend_Date::TIMEZONE_NAME : return $this->date('e', $this->getUnixTimestamp(), false); break; case Zend_Date::DAYLIGHT : return $this->date('I', $this->getUnixTimestamp(), false); break; case Zend_Date::GMT_DIFF : return $this->date('O', $this->getUnixTimestamp(), false); break; case Zend_Date::GMT_DIFF_SEP : return $this->date('P', $this->getUnixTimestamp(), false); break; case Zend_Date::TIMEZONE : return $this->date('T', $this->getUnixTimestamp(), false); break; case Zend_Date::TIMEZONE_SECS : return $this->date('Z', $this->getUnixTimestamp(), false); break; // date strings case Zend_Date::ISO_8601 : return $this->date('c', $this->getUnixTimestamp(), false); break; case Zend_Date::RFC_2822 : return $this->date('r', $this->getUnixTimestamp(), false); break; case Zend_Date::TIMESTAMP : return $this->getUnixTimestamp(); break; // additional formats case Zend_Date::ERA : $year = $this->date('Y', $this->getUnixTimestamp(), false); if ($year < 0) { $era = Zend_Locale_Data::getContent($locale, 'erashort', array('gregorian', '0')); return $era['0']; } $era = Zend_Locale_Data::getContent($locale, 'erashort', array('gregorian', '1')); return $era['1']; break; case Zend_Date::ERA_NAME : $year = $this->date('Y', $this->getUnixTimestamp(), false); if ($year < 0) { $era = Zend_Locale_Data::getContent($locale, 'era', array('gregorian', '0')); return $era['0']; } $era = Zend_Locale_Data::getContent($locale, 'era', array('gregorian', '1')); if (!isset($era['1'])) { return false; } return $era['1']; break; case Zend_Date::DATES : return $this->toString(Zend_Locale_Format::getDateFormat($locale), 'iso', $locale); break; case Zend_Date::DATE_FULL : $date = Zend_Locale_Data::getContent($locale, 'dateformat', array('gregorian', 'full')); return $this->toString($date['pattern'], 'iso', $locale); break; case Zend_Date::DATE_LONG : $date = Zend_Locale_Data::getContent($locale, 'dateformat', array('gregorian', 'long')); return $this->toString($date['pattern'], 'iso', $locale); break; case Zend_Date::DATE_MEDIUM : $date = Zend_Locale_Data::getContent($locale, 'dateformat', array('gregorian', 'medium')); return $this->toString($date['pattern'], 'iso', $locale); break; case Zend_Date::DATE_SHORT : $date = Zend_Locale_Data::getContent($locale, 'dateformat', array('gregorian', 'short')); return $this->toString($date['pattern'], 'iso', $locale); break; case Zend_Date::TIMES : return $this->toString(Zend_Locale_Format::getTimeFormat($locale), 'iso', $locale); break; case Zend_Date::TIME_FULL : $time = Zend_Locale_Data::getContent($locale, 'timeformat', array('gregorian', 'full')); return $this->toString($time['pattern'], 'iso', $locale); break; case Zend_Date::TIME_LONG : $time = Zend_Locale_Data::getContent($locale, 'timeformat', array('gregorian', 'long')); return $this->toString($time['pattern'], 'iso', $locale); break; case Zend_Date::TIME_MEDIUM : $time = Zend_Locale_Data::getContent($locale, 'timeformat', array('gregorian', 'medium')); return $this->toString($time['pattern'], 'iso', $locale); break; case Zend_Date::TIME_SHORT : $time = Zend_Locale_Data::getContent($locale, 'timeformat', array('gregorian', 'short')); return $this->toString($time['pattern'], 'iso', $locale); break; case Zend_Date::ATOM : return $this->date('Y\-m\-d\TH\:i\:sP', $this->getUnixTimestamp(), false); break; case Zend_Date::COOKIE : return $this->date('l\, d\-M\-y H\:i\:s e', $this->getUnixTimestamp(), false);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?