我正在通过 PHP 构建一个日历,而我这样做的方式在某些日子里会被写两次。
我复制了这个小脚本中的行为:
<?php
//
// define a date to start from
//
$d = 26;
$m = 10;
$y = 2013;
date_default_timezone_set('CET');
$time = mktime(0, 0, 0, $m, $d, $y);
//
// calculate 10 years
//
for($i=0;$i<3650;$i++){
$tomorrowTime = $time + (60 * 60 * 24);
//
// echo date if the next day has the same date('d') result
//
if(date('d',$time)==date('d',$tomorrowTime)){
echo date('d-m-Y',$time)." was calculated twice... \n";
}
$time = $tomorrowTime;
}
?>
这就是我得到的:
27-10-2013 was calculated twice...
26-10-2014 was calculated twice...
25-10-2015 was calculated twice...
30-10-2016 was calculated twice...
29-10-2017 was calculated twice...
28-10-2018 was calculated twice...
27-10-2019 was calculated twice...
25-10-2020 was calculated twice...
31-10-2021 was calculated twice...
30-10-2022 was calculated twice...
当我定义为时$time
,0 (unix epoch)
我没有得到相同的行为。使用有什么问题mktime()
吗?还是十一月只是尴尬?
干杯,杰伦