我得到了一个数组,它包含我当前显示的文章存档的日期,看起来像这样:
<?php
// Code:
echo '<pre>'; print_r($date_result); echo '</pre>';
?>
// output:
Array
(
[0] => 2008
[1] => 03
[2] => 11
)
然后尝试构建结果以输出此存档页的标题:
$name = date( 'l', mktime( 0, 0, 0, $date[1], $date[2], $date[0] ) ); // works
但是当我试图做同样的月&年份我总是在给定日期前一个月/一年:
// Month
$name = date( 'M', mktime( 0, 0, 0, $date[1], 0, 0, 0 ) ); // input: eg. (int) 03 - output 'February'
// Year
$name = date( 'Y', mktime( 0, 0, 0, 0, 0, $date[0] ) ); // input: eg. (int) 2008 - output '2007'
我真的无法回避它。我用month做错了什么?年日期吗?谢谢!
From php.net:
示例#3下个月的最后一天
任意给定月份的最后一天可以为表示为下一个"0"天月,而不是-1天。
因此,输入0的日或月将给出前一个月或前一年。
试着放
$name = date( 'M', mktime( 0, 0, 0, 1, $date[1], 1) );
我会这样做:
$time = mktime( 0, 0, 0, $date[1], $date[2], $date[0] );
// Month
$month = date( 'M', $time ); // Outputs 'Mar' (March)
// Year
$year = date( 'Y', $time ); // Outputs '2008'