3 回答

TA贡献1773条经验 获得超3个赞
问题是您正在使用'M'和'D',它们是文本表示形式,MySQL希望使用格式的数字表示形式2010-02-06 19:30:13
尝试:date("Y-m-d H:i:s")使用数字等效项。
编辑:切换G到H,尽管可能没有影响,但您可能希望使用前导0的24小时格式。

TA贡献1798条经验 获得超3个赞
从PHP的date()手册页的评论:
<?php $mysqltime = date ("Y-m-d H:i:s", $phptime); ?>
您输入了正确的“ Y”,即整整一年,但是“ M”是一个三个字符的月份,而“ m”是一个两位数的月份。与“ D”而不是“ d”相同的问题。“ G”是1或2位数的小时,其中“ H”在需要时始终以0开头。

TA贡献1862条经验 获得超7个赞
这里有一个替代的解决方案:如果您在PHP的日期作为时间戳,旁路用PHP处理,并让使用它转换的DB照顾FROM_UNIXTIME功能。
mysql> insert into a_table values(FROM_UNIXTIME(1231634282));
Query OK, 1 row affected (0.00 sec)
mysql> select * from a_table;
+---------------------+
| a_date |
+---------------------+
| 2009-01-10 18:38:02 |
+---------------------+
添加回答
举报