Cron作业日期数据库条目

时间:2014-05-03 22:07:50

标签: mysql sql datetime cron

我有一个非常简单的代码,用于将日期条目输入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上本地也测试了相同的结果。

有什么建议吗?什么可能是错的?

3 个答案:

答案 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)