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