I want to find whether a date is in "j/n/Y" format or not, if its is then i want to convert ot to "d/m/Y". If it is already in "d/m/Y" format i dont want any alteration in it.
I tried this-
$date = '1/7/2019';
here i am assuming 1 as date, 7 as month, and 2019 as year(obviously). Now,
$date_format_changed = date("d/m/Y", strtotime($date));
this above code gives me output as "07/01/2019". But i want output as "01/07/2019".
and if date is already in d/m/Y format eg- 17/12/2019, when this string will be passed in above date conversion code, it gives me output "01/01/1970". Dont know why.
Please help!
An approach could be to explode
the date into its day month and year components, and then analyse it
$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;
You could simply do a
strlen($date)
. If the length is 8 or 9, it'sj/n/Y
and if it's 10, it'sd/m/Y
@MagnusEriksson- Yes we can do that, but we still need to explode the $date variable to concatenate 0 with day and month, so that we can achieve date in d-m-Y format.