Php datetime format error

date_format

Возвращает строку даты, преобразованной согласно переданному формату.

Список параметров

Только для процедурного стиля: объект DateTime , возвращаемый date_create() .

Шаблон результирующей строки ( string ) с датой. Смотрите параметры форматирования ниже. Также существует несколько предопределённых констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон ‘D, d M Y H:i:s’ .

В параметре format распознаются следующие символы

Символ в строке format Описание Пример возвращаемого значения
День
d День месяца, 2 цифры с ведущим нулём от 01 до 31
D Текстовое представление дня недели, 3 символа от Mon до Sun
j День месяца без ведущего нуля от 1 до 31
l (строчная ‘L’) Полное наименование дня недели от Sunday до Saturday
N Порядковый номер дня недели в соответствии со стандартом ISO 8601 от 1 (понедельник) до 7 (воскресенье)
S Английский суффикс порядкового числительного дня месяца, 2 символа st , nd , rd или th . Применяется совместно с j
w Порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)
z Порядковый номер дня в году (начиная с 0) От 0 до 365
Неделя
W Порядковый номер недели года в соответствии со стандартом ISO 8601; недели начинаются с понедельника Например: 42 (42-я неделя года)
Месяц
F Полное наименование месяца, например, January или March от January до December
m Порядковый номер месяца с ведущим нулём от 01 до 12
M Сокращённое наименование месяца, 3 символа от Jan до Dec
n Порядковый номер месяца без ведущего нуля от 1 до 12
t Количество дней в указанном месяце от 28 до 31
Год
L Признак високосного года 1 , если год високосный, иначе 0 .
o Номер года в соответствии со стандартом ISO 8601. Имеет то же значение, что и Y , кроме случая, когда номер недели ISO ( W ) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. Примеры: 1999 или 2003
X Расширенное полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры и + для годов нашей эры. Примеры: -0055 , +0787 , +1999 , +10191
x Расширенное полное числовое представление, если требуется или стандартное полное числовое представление, если возможно (например, Y ). Не менее четырёх цифр. Для годов до нашей эры указан префикс — . У годов после (и включая) 10000 префикс + . Примеры: -0055 , 0787 , 1999 , +10191
Y Полное числовое представление года, не менее 4 цифр, с — для годов до нашей эры. Примеры: -0055 , 0787 , 1999 , 2003 , 10191 .
y Номер года, 2 цифры Примеры: 99 , 03
Время
a Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
B Время в формате Интернет-времени (альтернативной системы отсчёта времени суток) от 000 до 999
g Часы в 12-часовом формате без ведущего нуля от 1 до 12
G Часы в 24-часовом формате без ведущего нуля от 0 до 23
h Часы в 12-часовом формате с ведущим нулём от 01 до 12
H Часы в 24-часовом формате с ведущим нулём от 00 до 23
i Минуты с ведущим нулём от 00 до 59
s Секунды с ведущим нулём от 00 до 59
u Микросекунды. Учтите, что date() всегда будет возвращать 000000 , т.к. она принимает целочисленный ( int ) параметр, тогда как DateTime::format() поддерживает микросекунды, если DateTime создан с ними. Например: 654321
v Миллисекунды. Замечание такое же как и для u . Пример: 654
Часовой пояс
e Идентификатор часового пояса Примеры: UTC , GMT , Atlantic/Azores
I (заглавная i) Признак летнего времени 1 , если дата соответствует летнему времени, 0 в противном случае.
O Разница с временем по Гринвичу без двоеточия между часами и минутами Например: +0200
P Разница с временем по Гринвичу с двоеточием между часами и минутами Например: +02:00
p То же, что и P , но возвращает Z вместо +00:00 (доступен, начиная с PHP 8.0.0) Например: Z или +02:00
T Аббревиатура часового пояса, если известна; в противном случае смещение по Гринвичу. Примеры: EST , MDT , +05
Z Смещение часового пояса в секундах. Для часовых поясов, расположенных западнее UTC, возвращаются отрицательные числа, а для расположенных восточнее UTC — положительные. от -43200 до 50400
Полная дата/время
c Дата в формате стандарта ISO 8601 2004-02-12T15:19:21+00:00
r Дата в формате » RFC 222/» RFC 5322 Например: Thu, 21 Dec 2000 16:01:07 +0200
U Количество секунд, прошедших с начала Эпохи Unix (1 января 1970 00:00:00 GMT) Смотрите также time()
Читайте также:  Calculate the sum of values in an array

Любые другие символы, встреченные в строке-шаблоне, будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate() .

Замечание:

Поскольку рассматриваемая функция принимает в качестве параметра временные метки типа int , форматирующий символ u будет полезен только при использовании функции date_format() и пользовательских меток времени, созданных с помощью функции date_create() .

Возвращаемые значения

Возвращает строку с отформатированной датой в случае успешного выполнения.

Источник

date_parse_from_format

Возвращает ассоциативный массив с подробной информацией о заданной дате/времени.

Список параметров

Документацию по параметру format , смотрите в документации к методу DateTimeImmutable::createFromFormat() . Применяются те же правила.

Строка, представляющая дату/время.

Возвращаемые значения

Возвращает ассоциативный массив с подробной информацией о заданной дате/времени.

Возвращаемый массив содержит ключи year , month , day , hour , minute , second , fraction и is_localtime .

Если присутствует is_localtime , то zone_type указывает тип часового пояса. Для типа 1 (смещение UTC) указывается zone , добавляется поле is_dst ; для типа 2 (аббревиатура) добавляются поля tz_abbr и is_dst ; для типа 3 (идентификатор часового пояса) добавляются поля tz_abbr и tz_id .

Если в параметре datetime присутствуют элементы относительного времени, например, +3 days , то возвращаемый массив включает вложенный массив с ключом relative . Этот массив затем содержит ключи year , month , day , hour , minute , second , и, если необходимо, weekday и weekdays , в зависимости от переданной строки.

Массив включает поля warning_count и warnings . Первое из них указывает, сколько было предупреждений. Ключи элементов массива warnings указывают на позицию в данном параметре datetime , где произошло предупреждение, а строковое значение описывает само предупреждение.

Массив также содержит поля error_count и errors . Первое из них указывает, сколько ошибок было найдено. Ключи элементов массива errors указывают на позицию в данном параметре datetime , где произошла ошибка, а строковое значение описывает саму ошибку.

Количество элементов массивов warnings и errors может быть меньше, чем warning_count или error_count , если они возникли в одной и той же позиции.

Список изменений

Версия Описание
7.2.0 Элемент zone возвращаемого массива отображает теперь секунды вместо минут, а его знак инвертируется. Например, -120 теперь будет 7200 .

Примеры

Пример #1 Пример использования date_parse_from_format()

Результат выполнения данного примера:

Array ( [year] => 2009 [month] => 1 [day] => 6 [hour] => 13 [minute] => 0 [second] => 0 [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => 1 [zone_type] => 1 [zone] => -60 [is_dst] => )

Пример #2 Пример использования date_parse_from_format() с предупреждениями

$date = «26 August 2022 22:30 pm» ;
$parsed = date_parse_from_format ( «j F Y G:i a» , $date );

echo «Количество предупреждений: » , $parsed [ ‘warning_count’ ], «\n» ;
foreach ( $parsed [ ‘warnings’ ] as $position => $message ) echo «\tПозиция < $position >: < $message >\n» ;
>
?>

Результат выполнения данного примера:

Количество предупреждений: 1 Позиция 23: The parsed time was invalid

Пример #3 Пример использования date_parse_from_format() с ошибками

$date = «26 August 2022 CEST» ;
$parsed = date_parse_from_format ( «j F Y H:i» , $date );

echo «Количество ошибок: » , $parsed [ ‘error_count’ ], «\n» ;
foreach ( $parsed [ ‘errors’ ] as $position => $message ) echo «\tПозиция < $position >: < $message >\n» ;
>
?>

Результат выполнения данного примера:

Количество ошибок: 3 Позиция 15: A two digit hour could not be found Позиция 19: Data missing

Смотрите также

  • DateTimeImmutable::createFromFormat() — Разбирает строку с датой согласно указанному формату
  • checkdate() — Проверяет корректность даты по григорианскому календарю

User Contributed Notes

  • Функции даты и времени
    • checkdate
    • date_​add
    • date_​create_​from_​format
    • date_​create_​immutable_​from_​format
    • date_​create_​immutable
    • date_​create
    • date_​date_​set
    • date_​default_​timezone_​get
    • date_​default_​timezone_​set
    • date_​diff
    • date_​format
    • date_​get_​last_​errors
    • date_​interval_​create_​from_​date_​string
    • date_​interval_​format
    • date_​isodate_​set
    • date_​modify
    • date_​offset_​get
    • date_​parse_​from_​format
    • date_​parse
    • date_​sub
    • date_​sun_​info
    • date_​sunrise
    • date_​sunset
    • date_​time_​set
    • date_​timestamp_​get
    • date_​timestamp_​set
    • date_​timezone_​get
    • date_​timezone_​set
    • date
    • getdate
    • gettimeofday
    • gmdate
    • gmmktime
    • gmstrftime
    • idate
    • localtime
    • microtime
    • mktime
    • strftime
    • strptime
    • strtotime
    • time
    • timezone_​abbreviations_​list
    • timezone_​identifiers_​list
    • timezone_​location_​get
    • timezone_​name_​from_​abbr
    • timezone_​name_​get
    • timezone_​offset_​get
    • timezone_​open
    • timezone_​transitions_​get
    • timezone_​version_​get

    Источник

Оцените статью