MySQL - 保存JSON时间戳

时间:2015-11-02 20:06:42

标签: php mysql json datetime timestamp

我有一个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 . "')";

结果是我的数据库中的00:00:00日期值...

有人可以解释一下,如何将这个时间戳正确地传递给MySQL?

3 个答案:

答案 0 :(得分:1)

试试这个:

$epoch_date = $epoch->format('Y-m-d H:i:s');
$query = "update forecast set epoch = '$epoch_date'";

答案 1 :(得分:0)

mysql中的datetime格式不是像php那样的时间戳。您需要存储与$epoch字符串类似的字符串:

date('Y-m-d H:i:s', $this->date)

会正常工作。

答案 2 :(得分:0)

MySQL只接受YYYY-MM-DD格式的日期。除此格式之外的任何内容都将被丢弃,因此将插入字段的默认值。因此,为了存储正确的日期,您需要将其转换为Mysql的本机日期时间格式。你可以使用Mysql date_format()或php date函数。