我需要格式化ISO 8601格式的时间戳(例如2001-10-26T21:32:52
)。当我在PHP中使用date()
函数时,它将T
替换为时区(正如它应该做的那样)。
我正在使用的命令是:
$time = date("y-m-dTH:i:s", time());
这会产生:10-02-13EST10:21:03
如何让它插入实际T
而不是替换为EST
?
答案 0 :(得分:19)
您的格式应为:“c”
$time = date("c", time());
来自PHP manual:
Format Descriptions Example
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
答案 1 :(得分:6)
如果您需要插入一个不应被解释的字符,请在其前面加上反斜杠:
$time = date("y-m-d\TH:i:s", time());
答案 2 :(得分:1)
您可以单独格式化日期和时间部分,然后使用"T"
将这两个部分连接起来:
<?php
$time = time();
$time = date( "y-m-d",$time )."T".date( "H:i:s", $time );
?>
答案 3 :(得分:1)
DATE_ATOM
:
$theStart_date = date(DATE_ATOM, strtotime($start_date));
输出:
2013-04-10T09:10:30-04:00