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
?
3 Answers
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
-
1
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);
-
1Sadly, this code doesn't have time zone offsets, which is crucial. The question does include a time zone offset.– FlimmCommented Dec 2 at 14:12
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'
-
1