到目前为止,我这样做是为了转换日期
$date = '01/1990';
date('Y-m-d', strtotime(str_replace('-', '/', $date . '/01')));
但我得到一个布尔假;有任何想法吗?
您的 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));
替换$data为$date:
echo date('Y-m-d', strtotime(date('Y-d-m', strtotime('01/' . str_replace('-', '/', $date)))));
strtotime接受dd-mm-yyyy和mm/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 类。