Как я могу отформатировать временные метки со встроенным символом "T"?
Мне нужно отформатировать метку времени в формате 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
?
6
Author: Toby Speight, 2010-02-13
4 answers
Ваш формат должен быть: "c"
$time = date("c", time());
Format Descriptions Example
c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
19
Author: Patrick Desjardins, 2010-02-13 15:28:58
Если вам нужно вставить символ, который не следует интерпретировать, поставьте перед ним обратную косую черту:
$time = date("y-m-d\TH:i:s", time());
6
Author: Matteo Riva, 2017-05-08 13:49:34
Вы можете отформатировать части даты и времени отдельно, а затем объединить эти две части с "T"
:
<?php
$time = time();
$time = date( "y-m-d",$time )."T".date( "H:i:s", $time );
?>
1
Author: GeekTantra, 2017-05-08 13:48:52
DATE_ATOM
предусмотрен для этого формата:
$theStart_date = date(DATE_ATOM, strtotime($start_date));
Вывод:
2013-04-10T09:10:30-04:00
1
Author: Rohit Dubey, 2017-05-08 13:50:23