到目前为止,我这样做是为了转换日期
$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-yyyy
mm/dd/yyyy
由于您从一个看似mm/yyyy
格式的字符串开始,因此最简单的解决方案是将其转换为 dd-mm-yyyy:
$date = '01/1990';
date('Y-m-d', strtotime('01-'.str_replace('/', '-', $date)));
而且您可能还想检查DateTime 类。