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 + -
显示快捷键?