在php中转换日期,toString函数不起作用

Rom*_*ain 1 php zend-framework date tostring

我正在尝试使用toString('dd MMMM YYY')函数将日期转换为字符串.但在这里,这不起作用.

这是我的代码:

    $date_start = new Zend_Date(strtotime($this->startdate));
    echo($date_start); 
Run Code Online (Sandbox Code Playgroud)

其结果是:2012年12月31日00:00:00

    $date_input = $date_start->toString('dd MMMM YYY');
    echo($date_input);
Run Code Online (Sandbox Code Playgroud)

其结果是:2013年12月31日

我需要做些什么才能获得2012年12月31日的成绩?

Tad*_*eck 5

这是此处描述的已知问题:http://framework.zend.com/issues/browse/ZF-5297

请注意,默认的ISO格式与PHP的格式不同,如果您之前没有使用过,可能会令人恼火.特别是年份和分钟的格式说明符通常不以预期的方式使用.

对于一年,有两个可用的说明符经常是错误的.该Ÿ符为ISO年份为真正y年符.差异很小但很重要.Y计算ISO年份,通常用于日历格式.例如,参见2007年12月31日.实际年份是2007年,但它是2008年第1周第一周的第一天.所以,如果你使用'dd.MM.yyyy',你会得到'31.2007年12月'但如果你使用'dd.MM.YYYY',你将获得'31.2008年12月'.如您所见,这不是错误,而是预期的行为,具体取决于使用的说明符.

使用" yyy"而不是" YYY".