Sadikhasan
Sadikhasan

Reputation: 18600

Convert datetime to RFC 3339

My input date is 2014-03-10 05:40:00. How can I convert it to RFC format like 2014-3-10T05:40:00.000-00:00?

Upvotes: 21

Views: 37563

Answers (3)

Sadikhasan
Sadikhasan

Reputation: 18600

The date function in PHP 5 provides another option:

$datetime = date("c", strtotime("2014-03-10 05:40:00"));
echo $datetime; // Output: 2014-03-10T05:40:00+00:00 

Upvotes: 32

You Old Fool
You Old Fool

Reputation: 22941

I'd like to add that the predefined constants for this can also be used with date(). All of these:

date(DATE_RFC3339); // '2024-12-02T14:12:43+00:00'
date(DATE_ATOM);    // '2024-12-02T14:12:43+00:00'
date(DATE_W3C);     // '2024-12-02T14:12:43+00:00'

return an RFC3339 formatted date time string and are the equivalent of:

date('Y-m-d\TH:i:sP'); // '2024-12-02T14:12:43+00:00'

Upvotes: 19

Adam Elsodaney
Adam Elsodaney

Reputation: 7808

RFC3339 is one of the predefined format constants of the DateTime class.

$inputDate = "2014-03-10 05:40:00";

$datetime = \DateTime::createFromFormat("Y-m-d H:i:s", $inputDate);

echo $datetime->format(\DateTime::RFC3339);

Upvotes: 28

Related Questions