我有一个非常简单的代码,用于将日期条目输入SQL DB的cron作业:
$qry_cron_test = "INSERT INTO ".$tblprefix."cron_test SET
create_datetime = '".date("Y-d-m H:i:s")."'";
$rs_cron_test = $db -> Execute($qry_cron_test);
问题如下:
每个月的1号到12号之间的日期条目是这样的 - 2014-10-03 07:30:39,这就是我想要的。
然而,当当前日期在13日和月末之间时,日期条目看起来像这样 - 0000-00-00 00:00:00。然后当第一次来到时,entires再次都没问题。
我在几台服务器上进行了测试,并且在Xampp上本地也测试了相同的结果。
有什么建议吗?什么可能是错的?
答案 0 :(得分:4)
你有错误的月经日。
$qry_cron_test = "INSERT INTO ".$tblprefix."cron_test SET
create_datetime = '".date("Y-m-d H:i:s")."'";
$rs_cron_test = $db -> Execute($qry_cron_test);
日期(" Y- m - d H:我:s")
答案 1 :(得分:3)
我建议,除非您需要毫秒信息,否则您始终将日期信息存储在Unix Timestamp中。存储更轻,因为它只是一个整数值,检索速度更快,并且是通用的,因为它总是基于UTC。
特别是在PHP中,将日期信息转换为(time()
和strtotime
)和(date()
)unix时间戳非常简单。这样,无论您的用户位于何处,您都可以随时在当地时间显示正确的信息。
答案 2 :(得分:1)
这样做会不会更简单:
insert into cron_test
create_datetime
values
(current_timestamp)