我有一个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?
答案 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函数。