2

我注意到 MySQL 将日期保存为 0000-00-00 格式。但是在我的应用程序中,我已经验证了这种 00-00-0000 格式的日期。我注意到日期没有正确保存为不同的格式。我可以将mysql数据格式更改为00-00-0000格式吗?

4

4 回答 4

2

00-00-0000格式不完全清楚;例如,可能是dd-mm-yyyy这样。

您可以像这样简单地转换日期:

$mydate = '24-12-2012';
// create date object by using a known format
// see manual page for all format specifiers
$d = DateTime::createFromFormat('d-m-Y', $mydate);

// format date object in yyyy-mm-dd
echo $d->format('Y-m-d'); 

也可以看看:DateTime::createFromFormat() DateTime::format()

于 2012-12-23T16:09:50.180 回答
2

您还可以使用 MySQLstr_to_date功能

INSERT INTO yourtable (datefield) VALUES (str_to_date('01-02-2007', '%d-%m-%Y'));
于 2012-12-23T16:11:10.157 回答
1

正如@Jack解释的那样,这是您可以选择的正确方法之一

在从数据库中选择日期时,您可以使用 DATE_FORMAT(date,format)

于 2012-12-23T16:17:16.357 回答
0

你不能。
取而代之的是,您必须将自定义格式转换为数据库格式并返回。

要将其存储在数据库中,您可以使用explodePHP 函数。
选择时,可以使用DATE_FORMATmysql函数格式化mysql日期格式。

于 2012-12-23T16:10:04.223 回答