1
我在嘗試生成一個鏈接列表,每個月從當前月份開始一個月,並向後倒退數月。如何爲前幾個月的每個X數生成一個鏈接列表?
我有事主要工作,不同之處在於它是「退出」 2013年這裏二月份是什麼,我現在有一個截圖:
下面是從代碼正在生成列表視圖模板:
<?php for($i = 1; $i <= 8; $i++): ?>
<li>
<?php $prior_time = strtotime("-$i month"); ?>
<?php $month = date('m', $prior_time); ?>
<?php $year = date('Y', $prior_time); ?>
<?php $day = date('t', mktime(0, 0, 0, $month, 1, $year)); ?>
<?php $prior_month_string = date('F', $prior_time); ?>
<?php $prior_month_from = date('m/01/Y', $prior_time); ?>
<?php $prior_month_to = date("m/$day/Y", $prior_time); ?>
<?php if(date('F', strtotime($selected_from)) == $prior_month_string): ?>
<?php echo $prior_month_string; ?>
<?php else: ?>
<a href='/claims?<?php echo "from=$prior_month_from&to=$prior_month_to"; ?>'
data-from='<?php echo $prior_month_from; ?>'
data-to='<?php echo $prior_month_to; ?>'>
<?php echo $prior_month_string; ?>
</a>
<?php endif; ?>
</li>
<?php endfor; ?>
有趣的是,如果我延長for
遍歷$i <= 18
運行起來,它確實顯示器2012年2月。但由於某些原因,當試圖顯示2013年2月時,它會顯示另一個2013年3月(上圖中顯示的問題的示例)。
好像問題就在這裏:
$prior_time = strtotime("-$i month");
不過,我很茫然,以爲什麼以及如何繞過它。爲什麼這個算法會在2013年3月份發佈,而不是2013年2月份,我該如何解決這個問題?
今天的好事是第29次,也不是閏年。避免未來的問題。 – j883376
謝謝,好眼睛!我實現了這樣的解決方案:'strtotime(「 - $ i month」,strtotime(date('m/01/y')));' – Cypher