首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在MySQL中插入到datetime时的PHP date()格式

在MySQL中插入到datetime时的PHP date()格式
EN

Stack Overflow用户
提问于 2010-02-07 08:27:02
回答 12查看 774.6K关注 0票数 374

如果我想将结果插入到MySQL datetime类型的列中,那么在PHP中传递给date()函数的正确格式是什么?

我一直在尝试date('Y-M-D G:i:s'),但每次都会插入"0000-00-00 00:00:00“。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2010-02-07 08:29:57

问题是您使用的是'M''D',这是一种文本表示形式,MySQL需要2010-02-06 19:30:13格式的数字表示形式

Try:date('Y-m-d H:i:s'),它使用数字等效项。

编辑:将G切换到H,虽然它可能没有影响,但您可能希望使用24小时格式和前导0。

票数 779
EN

Stack Overflow用户

发布于 2010-02-07 08:29:59

来自php的date() manual page的评论

代码语言:javascript
复制
<?php $mysqltime = date ('Y-m-d H:i:s', $phptime); ?>

您的'Y‘是正确的--这是一个完整的年份,但是'M’是一个三个字符的月份,而'm‘是一个两位数的月份。与“D”而不是“d”的问题相同。“g”是一个1位或2位数字的小时,其中“H”在需要时总是有一个前导0。

票数 120
EN

Stack Overflow用户

发布于 2010-02-07 08:56:46

这里有一种替代的解决方案:如果您将PHP中的日期作为时间戳,那么绕过PHP处理它,让DB通过使用FROM_UNIXTIME函数来处理它。

代码语言:javascript
复制
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 |
+---------------------+
票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2215354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档