Как преобразовать время из 2010-12-30 23:21:46
формата даты ISO 8601? (-_-;)
php
datetime
date-format
datetime-format
time-format
Вот это да
источник
источник
date($format, strtotime($dateString))
илиDateTime
объект эквивалент. Они отличаются только входными данными для этих функций. Все, что вам нужно сделать, это перейти на соответствующие страницы в Руководстве по PHP и выяснить, что это за ввод.Ответы:
Объектно-ориентированный
Это рекомендуемый способ.
Процедурный
Для более старых версий PHP или если вам удобнее работать с процедурным кодом.
источник
2010-12-30T23:21:46+1100
как сделать так, чтобы он был2010-12-30T23:21:46+11:00
?preg_replace('/(?<=\d{2})(?=\d{2}$)/', ':', '2010-12-30T23:21:46+1100')
. Он выводит2010-12-30T23:21:46+11:00
.echo date('c', …
выводит двоеточие.date('c', strtotime('2010-12-30 23:21:46'))
nice @Gordon :)DATE_ISO8601
создает строку даты, которая немного отличается от ISO8601 (двоеточие отсутствует в TZ, ISO8601 ожидает, что время будет все с ИЛИ все без двоеточия, а не смесь) -date('c')
создает строгую действительную дату ISO 8601 - Это может затруднить отслеживание ошибок, если код ожидает строгого формата даты и времени ISO 8601. Ссылка: en.wikipedia.org/wiki/ISO_8601После PHP 5 вы можете использовать это:
echo date("c");
форма даты и времени в формате ISO 8601.http://ideone.com/nD7piL
Примечание для комментариев:
Касательно этого , оба эти выражения справедливы для часового пояса, для базового формата:
±[hh]:[mm], ±[hh][mm], or ±[hh]
.Но обратите внимание, что + 0X: 00 является правильным, а + 0X00 неправильным для расширенного использования. Так что лучше использовать
date("c")
. Аналогичное обсуждение здесь .источник
DATE_ISO8601
;+0X:00
против+0X00
.'c'
иDATE_ISO8601
производят действительные представления времени ISO8601.DATE_ISO8601
не дает действительного представления ISO8601. DATE_ATOM, хотяКак преобразовать ISO 8601 в unixtimestamp:
Как преобразовать unixtimestamp в ISO 8601 (сервер часовых поясов):
Как преобразовать unixtimestamp в ISO 8601 (GMT):
Как преобразовать unixtimestamp в ISO 8601 (настраиваемый часовой пояс):
источник
источник
Если вы попытаетесь установить значение в datetime-local
источник
Вы можете попробовать такой способ:
Также:
источник