我一直在使用脚本根据两个日期之间的差异更新数据库,直到2月11日。然后突然发生了奇怪的事情,没有对剧本进行任何改动。
这个想法是更新一天前最后更新的数据库中的一些记录,并更新7天前最后更新的其他记录。这就是我正在使用的:
$datenew7 = new DateTime("now");
$datenew7->modify("-7 day");
$expirydate7 = $datenew7->format("d/m/Y H:i:s");
$datenew1 = new DateTime("now");
$datenew1->modify("-1 day");
$expirydate1 = $datenew1->format("d/m/Y H:i:s");
$strSQL1="UPDATE vacancies SET dateupdated= #" . date("F j Y g:i a") . "# WHERE jobtype='p' AND dateupdated < #" . $expirydate1 . "#";
$strSQL7="UPDATE vacancies SET dateupdated= #" . date("F j Y g:i a") . "# WHERE jobtype='s' AND active='a' AND dateupdated < #" . $expirydate7 . "#";
第一个查询仍然可以正常工作,但是第二个查询每次运行脚本时都会更新这些记录,而不管已经过的天数。
有趣的是,如果我将“-7天”更改为“-4天”或更少,则可以正常工作。任何超过“-5天”的东西都不起作用。
我在这里搜索过并找到了一种更简单的方法来获取变量,因此将它们更改为:
$expirydate7 = date('d-m-Y H:i:s', strtotime("-3 day"));
$expirydate1 = date('d-m-Y H:i:s', strtotime("-1 day"));
......但结果仍然相同。我到处搜索但没有快乐。非常感谢任何帮助。
答案 0 :(得分:2)
正确的日期格式为Y-m-d H:i:s
。尝试使用该格式,看看它是否有效。