目标:我想将一些数据从api保存到我的数据库中,日期在api中如下所示:
"utcDate": "2018-10-28T13:30:00Z"
我尝试在迁移中使用datetime,但是却收到错误消息,指出这不是正确的格式。
$table->datetime('date');
我的错误:
PDOException::("SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2018-10-20T11:30:00Z' for column 'date' at row 1")
还有其他将日期存储为数据库中日期的方法吗?
答案 0 :(得分:1)
在插入值之前,您需要使用date
将其转换为datetime
格式DateTime
,这会导致错误,因为$table->datetime('date');
对您不起作用将其转换为date
格式。您也可以使用MYSQL DATE()将其从date
投射到datetime
。
<?php
$datetime = "2018-10-28T13:30:00Z";
$date = new DateTime($datetime);
echo $date->format('Y-m-d');
?>
OR
<?php
$datetime = "2018-10-28T13:30:00Z";
echo date("Y-m-d", strtotime($datetime));
?>
答案 1 :(得分:0)
我认为使用MySQL的DATE()
方法可以很轻松地完成此查询
INSERT INTO `test`
(`createdAt`)
VALUES
(DATE('2018-01-01 07:00:01'));