PHP-将mm/yyyy转换为mysql日期格式


PHP - Convert mm/yyyy to mysql Date Format

到目前为止,我这样做是为了转换日期

$date = '01/1990';
date('Y-m-d', strtotime(str_replace('-', '/', $date . '/01')));

但我得到了一个布尔值false;有什么想法吗?

您的str_replace正在搜索-并替换为/

这里有一个简化的解决方案,它选择不将日期连接到日期字符串上。

$date = '01/1990';
$date = str_replace('/', '-', $date);
$date = date('Y-m-1', strtotime($date));

如果您确实想将您的一天连接到日期字符串格式上,作为dd/mm/yyyy

$date = '01/1990';
$date = '01/' . $date;
$date = str_replace('/', '-', $date);
$date = date('Y-m-d', strtotime($date));

$date:替换$data

echo date('Y-m-d', strtotime(date('Y-d-m', strtotime('01/' . str_replace('-', '/', $date)))));

strtotime接受dd-mm-yyyymm/dd/yyyy(以及一些其他格式,如yyyy-mm-dd)。区分dd-mm-yyyymm/dd/yyyy的唯一方法是分隔符。

由于您从一个看起来是mm/yyyy格式的字符串开始,最简单的解决方案是将其转换为dd-mm-yyyy:

$date = '01/1990';
date('Y-m-d', strtotime('01-'.str_replace('/', '-', $date)));

您可能还想检查DateTime类。