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