如果结束日期早于开始日期,我需要显示一条消息。
代码正在运行,但如果我将结束日期设置为开始日期之前的5年以上。代码什么也没做。
我不知道。那很奇怪?
这是我的代码
if(isset($_POST['Submit']))
{
$startdate = $_POST['start'];
$enddate=$_POST['end'];
if(abs(strtotime($enddate ) < strtotime($startdate)))
{
?>
<table width="767" border="0">
<tr>
<th bordercolor="#CC3300" bgcolor="#CC0000" scope="row"><div align="left"><span class="style11 style3">Warring:</span></div></th>
</tr>
<tr>
<th width="761" bordercolor="#CC3300" bgcolor="#CC0000" scope="row"><div align="left" class="style3 style11">The end date you entered is before the start date!!</div></th>
</tr>
</table>
<?php
}
}
?>
答案 0 :(得分:6)
strtotime()
,2038 date problem不支持2038年1月19日之后的日期。
不过,时间戳的有效范围通常是从星期五,19年12月13日20:45:54 UTC到星期二,2038年1月19日03:14:07 UTC
DateTime()
可以解决这个问题。
if(isset($_POST['Submit'])) {
$startdate = new DateTime($_POST['start']);
$enddate = new DateTime($_POST['end']);
if($enddate < $startdate) {