在mysql数据库中存储日期

Posted

技术标签:

【中文标题】在mysql数据库中存储日期【英文标题】:Storing a date in mysql database 【发布时间】:2014-05-04 07:16:12 【问题描述】:

我在 php 中使用此代码生成当前日期/时间

$time = date("m.d G:i:s T Y");

现在我需要将time中的值存储在mysql表中

但在我的表格中显示为非法,即0000-00-00 00:00:00

我的专栏使用的数据类型是datetime

感谢您帮我解决问题:)

【问题讨论】:

【参考方案1】:

你试试这样

$time = date("Y:m:d H:i:s");

因为mysql的日期时间必须是YYYY-MM-DD H:I:S格式。否则插入到那个字段的数据会是0000-00-00 00:00:00

您可以参考这些链接以获取更多参考

Link 1

Link 2

【讨论】:

我还需要存储时区缩写,这就是为什么命令中有T【参考方案2】:

使用这个

date('Y-m-d H:i:s',strtotime($time));

【讨论】:

我还需要存储时区缩写,这就是为什么命令中有一个 T - 然后将该缩写存储在另一列中。或者将其全部存储为 varchar。 不可能将其存储在同一列中...我不介意更改数据类型

以上是关于在mysql数据库中存储日期的主要内容,如果未能解决你的问题,请参考以下文章

将日期和时间存储在 MySQL 数据库中以便以后使用 PHP 显示的最佳方法是啥?

如何在 SqlAlchemy / Mysql 中存储时区感知日期时间值?

如何使用时区信息在 MySQL 中存储日期时间

MySQL为每一行自动存储日期时间

使用存储过程将自动日期字段添加到 MYSQL 数据库

如何在mysql中存储类型可以是数字、日期或字符串的数据