这是我的脚本的工作演示:http://phpfiddle.org/main/code/f9b-cmr
我想要的是显示当天出现的那天的天数,然后显示全年出现的天数。
今天的例子是星期二,星期二,星期二,在2013年的53个星期二
明天是2013年52周三的周三32周三
有些日子一年出现52次,有些出现53次。问题:星期二应该在2013年显示53个中的32个,但它显示52个中的32个。
如果我将mktime更改为12,31,则显示01而不是53。
<?php
$weekNumber = date("W");
$weekTotal = date("W", mktime(0,0,0,12,28,date("Y")));
if ($_SERVER["REQUEST_METHOD"] == "POST"){
for($i=0; $i<1; $i++){
$weekNumber = "".date("W", mktime(0, 0, 0, ($_POST["month"]), ($_POST["date"]), ($_POST["year"])))."";
$weekTotal = "".date("W", mktime(0, 0, 0, 12, 28, ($_POST["year"])))."";
}
}
?>
<form id="date" method='post'>
<p>Date:
<input type="text" id="date" name ="date" size="10" placeholder="1 - 31"/>
Month:
<input type="text" id="month" name ="month" size="10" placeholder="1 - 12"/>
Year:
<input type="text" id="year" name ="year" size="15" placeholder="101 - 9999"/>
<input type="submit" name="submit"/></p>
</form>
<p><?php echo "It is week number "; echo $weekNumber; echo " out of ".$weekTotal."";?></p>
答案 0 :(得分:0)
日期(“W”)返回ISO-8601周数,该数字在年底附近有一些有趣的技术细节。来自维基百科article:
ISO周编号年的最后一周是前一周 01;按照定义的对称性,相当于 定义是:
- 本周最后一个星期四的一周
- 截至12月31日的星期日结束的一周
- 等。 (请参阅维基页面了解更多信息)