【发布时间】:2015-01-06 21:16:22
【问题描述】:
我有这个代码
<?php
function getDatesBetween2Dates($startTime, $endTime) {
$day = 86400;
$format = 'd-m-Y';
$startTime = strtotime($startTime);
$endTime = strtotime($endTime);
$numDays = round(($endTime - $startTime) / $day) + 1;
$days = array();
for ($i = 0; $i < $numDays; $i++) {
$days[] = date($format, ($startTime + ($i * $day)));
}
return $days;
}
$days = getDatesBetween2Dates(
date('d-m-Y', strtotime("$start")),
date('d-m-Y',strtotime("$end"))
);
foreach ($days as $key => $value) {
// ...
}
然后继续搜索数据库并根据日期返回显示结果。这段代码不是我写的,也不知道从哪里得到的。
问题是返回两个 2014 年 11 月 2 日???它把每件事都搞砸了。 任何帮助都是极好的。我将尝试分享一个页面链接。 (该页面包含个人信息)
http://djwservices.co.uk/invoices/calendar.php
作为一个附带问题,如果有人可以让展开/缩小在 onclick 上工作,那将是很棒的。
提前致谢 达兹
【问题讨论】:
-
为什么人们会错误地认为每天有 86400 秒长?
-
link 相关页面。
-
我意识到并不是所有的日子都有 86400 秒,或者事实上没有一天是 24 小时,但仍然卡住了!
-
d-m-Y是一种非常丑陋的格式,可用作您的日期字符串。你为什么要像喝醉的水手一样做字符串->日期->字符串?转到字符串应该是您在向人类展示之前做的最后一件事。在 PHP 中将事物保留为正常的时间戳,以通过模棱两可的字符串格式为您节省多次往返。 -
正如我所说,我没有写这个,我根据理论工作.. 如果它没有坏,不要打破它!这一直有效到 2014 年 11 月 2 日。它现在坏了,我无法修复它?