【发布时间】:2018-07-02 13:28:35
【问题描述】:
我目前正在生成一个 html 表格,其中包含标题中的日期
这些日期应该是全年每周的第一天(显示的年份可能会根据过滤器而变化),它们由以下代码生成
<?php $firstDay = strtotime($year . 'W' . str_pad($week, 2, '0', STR_PAD_LEFT)); ?>
<td><?= date('d/m/Y', $firstDay) ?></td>
这是在for 循环中,它使$week 从1 变为全年的周数。
我注意到,几年来,去年 12 月的最后一个星期一也包含在其中,例如当我在过滤器中选择 2015 时,29/12/2014。
到目前为止,为了确定一个月中的周数,我曾经以编程方式计算该月中的星期一数,并将其用作日期行上方行的 colspan,因此,有未计算的几年一月的几周,这使得表格发生了变化。
2015 一年的渲染 html 看起来像这样
<table>
<thead>
<tr>
<th colspan="4">January</th>
<th colspan="4">February</th>
[...]
</tr>
<tr>
<!-- Under January cell -->
<th>29/12/2014</th>
<th>05/01/2015</th>
<th>12/01/2015</th>
<th>19/01/2015</th>
<!-- Under February cell -->
<th>26/01/2015</th>
<th>02/02/2015</th>
[...]
</tr>
</thead>
[...]
在搜索和测试了很多周每月计数器之后,我发现的那些似乎都没有包括上一年的最后一个星期一。
谁能知道如何计算周数,包括从前一年发生的额外一周?
【问题讨论】:
-
所以基本上问题是如何找出一年中的周数?或一年中有多少个星期一?您能否在一个问题中重新表述整个帖子?它的本质..
-
还可以考虑发布
for loop来创建整个事情 :) -
@Keloo 这将是每个月的 ISO 周数,我想我刚刚弄明白了,如果可行,我会尝试一些方法并发布答案