我想查找日期是否为“ j / n / Y”格式,如果是,则要将ot转换为“ d / m / Y”。如果它已经是“ d / m / Y”格式,我不希望有任何更改。
我尝试了这个
$date = '1/7/2019';
这里我假设1为日期,7为月,2019为年(显然)。现在,
$date_format_changed = date("d/m/Y", strtotime($date));
上面的代码给我的输出为“ 07/01/2019”。但我想输出为“ 01/07/2019”。
并且如果日期已经是d / m / Y格式(例如17/12/2019),则当该字符串以上述日期转换代码传递时,它会给我输出“ 01/01/1970”。不知道为什么。
请帮忙!
一种方法可能是explode
将日期变成其日月和年部分,然后对其进行分析
$date = '1/7/2019';
$array = explode("/", $date);
$day = $array[0];
$month = $array[1];
$year = $array[2];
if(strlen($day) == 1) $day = "0".$day;
if(strlen($month) == 1) $month = "0".$month;
echo $day."/".$month."/".$year;
你可以简单地做一个
strlen($date)
。如果长度为8或9,j/n/Y
则为10;如果长度为10,则为d/m/Y
@ MagnusEriksson-是的,我们可以做到这一点,但是我们仍然需要分解$ date变量以将0与日和月连接起来,以便我们可以以dmY格式实现日期。