How can I format timestamps with embedded `T` character?
-
20-09-2019 - |
Question
I need to format a timestamp in ISO 8601 format (e.g. 2001-10-26T21:32:52
). When I use the date()
function in PHP, it replaces T
with the Timezone (as it is supposed to do).
The command I'm using is:
$time = date("y-m-dTH:i:s", time());
This produces: 10-02-13EST10:21:03
How do I get it to insert an actual T
and not replace with EST
?
Solution
Your format shoule be : "c"
$time = date("c", time());
From PHP manual:
Format Descriptions Example
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
OTHER TIPS
If you need to insert a character which should not be interpreted, precede it with a backslash:
$time = date("y-m-d\TH:i:s", time());
You could format the date and time parts seperately, then concatenate the two parts with "T"
:
<?php
$time = time();
$time = date( "y-m-d",$time )."T".date( "H:i:s", $time );
?>
DATE_ATOM
is provided for this format:
$theStart_date = date(DATE_ATOM, strtotime($start_date));
Output:
2013-04-10T09:10:30-04:00
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow