Как я могу отформатировать временные метки с помощью встроенного символа `T`?
-
20-09-2019 - |
Вопрос
Мне нужно отформатировать временную метку в формате 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
?
Решение
Ваш формат должен быть :"с"
$time = date("c", time());
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
Не связан с StackOverflow