Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - format date ISO8601?

Tags:

date

php

iso8601

I have a year (2002) and I'm trying to get it into the following format:

2002-00-00T00:00:00

I tried various iterations, the last of which was this:

$testdate = DateTime::createFromFormat(DateTime::ISO8601, date("c"))
echo date_format($testdate, '2002'); 

But, even if I come close, it always seems to add +00:00 to the end of it...

like image 951
KumbaThought Avatar asked Sep 09 '11 22:09

KumbaThought


2 Answers

The 'c' format in PHP always appends the timezone offset. You can't avoid that. But you can build the date yourself from components:

date('Y-m-d\TH:i:s', $testdate);
like image 186
Marc B Avatar answered Oct 05 '22 20:10

Marc B


Best way is to use constants (PHP 5 >= 5.5.0, PHP 7)

date(DATE_ISO8601, $timeToChange);

Docs: http://php.net/manual/en/class.datetimeinterface.php#datetime.constants.types

like image 20
fearis Avatar answered Oct 05 '22 20:10

fearis