I encountered with this question today on StackOverflow but didn't get answer.
My question is
echo date('Y-m-d',strtotime('2012-september-09')); // output - 2012-09-01
echo date('Y-m-d',strtotime('09-september-2012')); // output - 2012-09-09
Codepad
I am confused that why the first format don't produce correct answer. Any Help?
From the manual:
if the separator is a slash (/), then the American m/d/y is assumed; whereas if the separator is a dash (-) or a dot (.), then the European d-m-y format is assumed.
This is not behavior of the date
function but of the strtotime
. strtotime
can handle only dates in specific formats listed on the Date Formats manual page. 09-september-2012
is in the dd ([ \t.-])* m ([ \t.-])* y
format listed there, but 2012-september-09
does not match any of the supported formats.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With