PHP-将单独的日,月和年转换为mysql日期格式

问题描述 投票:-1回答:1

我有一天的值(1-31),一个月的值(1-12)和一年的值,我需要将它们保存为MySQL数据库日期格式。

如何将这些值(3个整数分别对应于日,月和年)转换为日期格式以将其保存在数据库中?

$day = $request->day;     // day(1-31)
$month = $request->month; // month(1-12)
$year = $request->year;  // year

$date = strtotime("$year-$month-$day"); // how to convert above values to a MySQL **date** format?
php mysql date
1个回答
0
投票

如果您100%确信这三个值,则可以将它们简单地串联在一起。

$mysqlDate = $request->year.'-'.$request->month.'-'.$request->day;

您可以使用DateTime类来验证整数是否构成有效日期。例如下面的代码:

$mysqlDate = (new \DateTime())->setDate($request->year, $request->month, $request->day)->format('Y-m-d');

这将确保该日期是正确的日期,并且在尝试将其输入数据库时​​不会引起MySQL错误。

然后,您可以像这样在准备好的语句中简单地使用它:

$pdo->prepare('INSERT INTO someTable(someDateColumn) VALUES(?)')
    ->execute([$mysqlDate]);
© www.soinside.com 2019 - 2024. All rights reserved.