0

関数から奇妙な出力が得られgetDate()ます。時刻部分なしで日付を返すことになっていますが、時刻部分を取得しています。これを修正する構成オプションがありませんか?

サンプルコード:

date_default_timezone_set('America/New_York');
$date = new Zend_Date(array(
    'year' => 2010,
    'month' => 3,
    'day' => 29,
));
echo $date->getIso() . PHP_EOL;
echo $date->getDate()->getIso() . PHP_EOL;

出力:

2010-03-29T00:00:00-04:00
2010-03-29T23:00:00-04:00
4

4 に答える 4

0

ふむ、これを試してみてください:

echo $date->get(Zend_Date::DATE_FULL);
于 2010-06-24T15:17:27.223 に答える
0

詳細については、参照してください

http://framework.zend.com/manual/en/zend.date.constants.html#zend.date.constants.list

于 2010-06-24T15:39:36.080 に答える
0

これは私の質問に対する答えではありませんが、これが私の回避策です。Zend_Date次のようにクラスを拡張しました。

class My_Date extends Zend_Date
{
    public static function now($locale = null)
    {
        return new My_Date(time(), self::TIMESTAMP, $locale);
    }

    /**
     * set to the first second of current day
     */
    public function setDayStart()
    {
        return $this->setHour(0)->setMinute(0)->setSecond(0);
    }

    /**
     * get the first second of current day
     */
    public function getDayStart()
    {
        $clone = clone $this;
        return $clone->setDayStart();
    }
}
于 2010-06-24T22:20:53.657 に答える