How do I convert datetime to ISO 8601 in PHP
How do I convert my time from 2010-12-30 23:21:46
to ISO 8601 date format? (-_-;)
Object Oriented
This is the recommended way.
$datetime = new DateTime('2010-12-30 23:21:46');
echo $datetime->format(DateTime::ATOM); // Updated ISO8601
Procedural
For older versions of PHP, or if you are more comfortable with procedural code.
echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
After PHP 5 you can use this: echo date("c");
form ISO 8601 formatted datetime.
http://ideone.com/nD7piL
Note for comments:
Regarding to this, both of these expressions are valid for timezone, for basic format: ±[hh]:[mm], ±[hh][mm], or ±[hh]
.
But note that, +0X:00 is correct, and +0X00 is incorrect for extended usage. So it's better to use date("c")
. A similar discussion here.