strtotime()
in PHP works great if you can provide it with a date format it understands and can convert, but for example you give it a UK date it fails to give the correct unix timestamp.
Is there any PHP function, official or unofficial, that can accept a format variable that tells the function in which format the date and time is being passed?
The closest I have come to doing this is a mixture of date_parse_from_format()
and mktime()
// Example usage of the function I'm after
//Like the date() function but in reverse
$timestamp = strtotimeformat("03/05/2011 16:33:00", "d/m/Y H:i:s");
If you have PHP 5.3:
strtotime
assumes it's a US date/time when using/
as the separator. To get it to think it's a Euro date/time, use-
or.
as the date separator. You can change the/
s to-
s or.
s with a simplestr_replace()
You are looking for strptime, I think. you can use it to parse the date and then use mktime if you need a UNIX timestamp.
This will work with PHP 5.1 and onwards.