在MySQL数据库中存储PHP日期时间

29

我简直不敢相信我不能做到这一点,但我想能够将php中的当前日期和时间存储到mysql表中。

表中的列是datetime类型。我尝试过这个:

$current_date = date("Y-m-d");
$my_date = strtotime($current_date);
INSERT INTO my_table (date_time) VALUES ('$my_date')

但我的时间戳显示为0000-00-00 00:00:00

这一定很容易做到,但我却无法让它工作!我想使用PHP的时间戳而非使用MySQL的now()函数。


1
如果mysql字段是DATETIME,则删除strtime调用。 - Pekka
6个回答

51

试试这个:

$my_date = date("Y-m-d H:i:s");
INSERT INTO my_table (date_time) VALUES ('$my_date');

在日期函数的日期格式参数中,使用:
'H' 表示24小时制
'h'表示12小时制


24

不要将其保存为Unix时间戳(strtotime()输出的),而是将其保存为“2012-12-02 13:00”格式并输入DATETIME列。


4
谢谢大家,我感觉好傻啊! - Damian

2
将名为“date_time”的列的“type”设置为“DATETIME”,并运行以下查询:
INSERT INTO my_table (`date_time`) VALUES (CURRENT_TIMESTAMP)

2

创建一个TIMESTAMP列类型并将其设置为NOT NULL。然后在INSERT期间传入NULL,MySQL将插入当前日期和时间。这对我有效。


1

移除strtotime()函数

$current_date = date("Y-m-d");
INSERT INTO my_table (date_time) VALUES ('$current_date')

如果你想要包含小时、分钟和秒钟, $current_date = date("Y-m-d H:i:s");

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接