【发布时间】:2015-11-02 20:06:41
【问题描述】:
我有一个由 JSON 给出的时间戳。我想将其推送到我的数据库(MySQL)中。有一行叫做“epoch”,它是一个日期时间类型。
通过以下代码打印时间戳会得到正确的结果。
$epoch = date('d.m.Y H:i:s', $this->date);
echo "Timestamp: " . $this->date . " - Date: " . $epoch . "\n";
时间戳:1446746400 - 日期:05.11.2015 19:00:00
$sql = "REPLACE INTO Forecast (epoch) VALUES ('" . $this->date . "')";
结果是我的数据库中的 0000-00-00 00:00:00 日期值...
谁能解释一下,如何将此时间戳正确传递到 MySQL 中?
【问题讨论】:
-
首先使用 mysql 日期/时间格式:dev.mysql.com/doc/refman/5.7/en/datetime.html。没有“json时间戳”之类的东西。除了原始数字/字符串/数组/对象之外,json 没有真正的数据类型。
-
mySQL中有一个TIMESTAMP数据类型,你的epoch列的数据类型是什么? SELECT column_name, data_type FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Forecast'
标签: php mysql json datetime timestamp