我正在将Codeigniter用于一个小项目,除了日期之外我的模型正常工作。我有一个专栏:
created_at datetime not null
我的模型代码在其数组中包含传递给db-> insert:
'created_at'=>时间()
这产生的日期时间值为00:00:00。
当我将其更改为:
'created_at'=> “from_unixtime(”。time()。“)”
它仍然会产生0日期时间值。
我做错了什么?如何将此字段设置为给定的unix时间?另外,我知道mysql会自动为你设置TIMESTAMP列 - 我对这个解决方案不感兴趣。
到目前为止,我无法在网上找到完整的例子。
答案 0 :(得分:2)
datetime需要一个YYYY-MM-DD字符串,其中-with时间()产生的UNIX时间戳是1970年1月1日以来的整数秒。这两个日期完全不同。
如果您希望使用PHP填充MySQL datetime字段,则必须使用:
date('Y-m-d h:i:s');
或者其他类似的东西。
答案 1 :(得分:0)
避免now()
,因为now()
将当前时间作为Unix时间戳返回,根据配置文件中的“时间参考”设置,以服务器的本地时间或GMT为基准。如果您不打算将主时间参考设置为GMT(如果您运行的网站允许每个用户设置自己的时区设置,您通常会这样做),使用此功能对PHP time()
没有任何好处功能。