0

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

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

但我得到一个布尔假;有任何想法吗?

4

3 回答 3

1

您的 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));
于 2013-07-30T21:46:53.877 回答
0

替换$data$date

echo date('Y-m-d', strtotime(date('Y-d-m', strtotime('01/' . str_replace('-', '/', $date)))));
于 2013-07-30T21:39:54.360 回答
0

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 类

于 2013-07-30T22:03:56.430 回答