0
我想创建一个函数来创建DateTime(s)的数组。我想要的日期是给定年份的每个星期六。PHP数组的DateTime似乎倾斜
我有这样做的功能,但是当值存储在一个数组中时,它们从一年的第二个周六开始,延伸到下一年的第一个周六。
请注意,以下内容显示了由函数生成的星期六列表,然后在几行空白行显示数组中的星期六商店后。
<?php
define ('sql','Y-m-d');
define ('br','<br/>');
function allSaturdays ($year){
$endofyear = "$year-12-31";
$interval = new DateInterval("P7D");
$year--;
$workingdate = "$year-12-31";
$workingdate = strtotime ($workingdate);
$workingdate = strtotime ("next Saturday",$workingdate);
$workingdate = date ("Y-m-d",$workingdate);
$workingdate = new DateTime ($workingdate);
$result[] = new DateTime;
while ($workingdate->format(sql) <= $endofyear) {
$result[] = $workingdate;
echo $workingdate->format (sql).br;
$workingdate->add ($interval);
$workingdate = new DateTime ($workingdate->format(sql));
//echo $workingdate->format (sql)."#".br;;
}// while
unset ($workingdate);
return $result;
}//function
$sats = allSaturdays(2016);
echo "<br/.<br/>";
foreach ($sats as $saturday)
echo $saturday->format(sql)."*<br>";
?>
但是,如果我存储唯一的日期(2016-01-02)正确的值在数组中。
毫无疑问,我错过了一些简单的东西。任何帮助表示赞赏。
Dave
无限循环我。手动修正了一些通知 –
完美 - 非常感谢 –