有人可以给我一个工作示例,说明我的努力使我无处可做吗?
我的代码当前说
if (isset($_POST['startdate'])) {
$startdate = DatePickerToTime($_POST['startdate']);
} else {
$startdate = strtotime('today midnight');
}
和
if (isset($_POST['enddate'])) {
$enddate = DatePickerToTime($_POST['enddate']);
} else {
$enddate = time();
}
有效。
但是,我想说的是,如果startdate
等于enddate
,那么请向enddate
添加23小时59分钟
我已阅读文档并正在尝试
if($_POST['$startdate'] == $_POST['$enddate']) {
$_POST['$enddate'] += date("h:i:sa", "23:59:59");
}
但这不起作用。
答案 0 :(得分:2)
Unix时间戳以秒为单位。您可以在结束日期前添加86340秒 1 。
$_POST['$enddate'] += 86340; // add 23h 59m
但是,如注释中所述,日期和时间处理应始终由语言自己的日期和时间逻辑处理,以防止出现very very odd and specific cases。
我强烈建议您使用PHP的DateTime
和DateInterval
来增加时间。
$date = new DateTime();
$date->setTimestamp($_POST['enddate']);
$date->add(new DateInterval('PT23H59M')); // add 23 hours and 59 minutes
$_POST['$enddate'] = $date->getTimestamp();
1 86340秒等于23小时59分钟
答案 1 :(得分:1)
$datetime1 = date('2009-10-11 12:30:00');
$datetime2 = date('2009-10-11 12:30:00');
echo "<pre>";
if($datetime1 == $datetime2){
echo "yes";
echo "<br>";
$datetime2 = date("Y-m-d H:i:s", strtotime("+23 hours 59 minutes",strtotime($datetime2)));
echo $datetime1."===================".$datetime2;
}
else {
echo "NO<br>";
echo $datetime1."===================".$datetime2;
}