如何将datetime存储为数据库中的日期

esbemjvw  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(333)

这个问题在这里已经有答案了

将iso 8601转换为unixtimestamp(2个答案)
两年前关门了。
目标:我想将一些数据从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")

有没有其他方法可以将这个日期作为日期存储在我的数据库中?

qco9c6ql

qco9c6ql1#

我认为使用这个查询很简单 DATE() 来自mysql的方法

INSERT INTO `test`
    (`createdAt`)
    VALUES
    (DATE('2018-01-01 07:00:01'));
shyt4zoc

shyt4zoc2#

你需要把它转换成 date 形式 datetime 使用 DateTime 在插入值之前,它会导致错误,因为 $table->datetime('date'); 不适合你把它转换成 date 格式。还可以使用mysql date()将其强制转换为 datedatetime .

<?php

$datetime = "2018-10-28T13:30:00Z";
$date = new DateTime($datetime);
echo $date->format('Y-m-d');
?>

<?php
$datetime = "2018-10-28T13:30:00Z";
echo date("Y-m-d", strtotime($datetime));
?>

相关问题