Думаю, на это можно ответить поподробнее. Прежде всего, DateInterval
метод конструктора принимает один параметр с именем $interval_spec
string.
DateInterval::__construct ( string $interval_spec )
Этот параметр имеет спецификацию, описанную ниже:
Формат начинается с буквы P, обозначающей точку. Каждый период продолжительности представлен целым числом, за которым следует указатель периода. Если продолжительность содержит элементы времени, этой части спецификации предшествует буква T.
В аргументе используются некоторые указатели периода:
- Y для лет
- M в течение месяцев
- D в течение нескольких дней
- W в течение нескольких недель . Они конвертируются в дни, поэтому не могут быть объединены с D.
- H для часов
- M в течение минут
- S на секунды
Давайте посмотрим на пример использования указателей периода:
- Два дня - это P2D.
- Две секунды - это PT2S.
- Шесть лет и пять минут - это P6YT5M.
Существует порядок, который необходимо поддерживать, как описано в документе:
Типы единиц измерения должны быть введены от самой большой единицы шкалы слева до самой маленькой единицы шкалы справа. Итак, годы перед месяцами, месяцы перед днями, дни перед минутами и т. Д. Таким образом, один год и четыре дня должны быть представлены как P1Y4D, а не P4D1Y.
Спецификация также может быть представлена в виде даты и времени .
- Один год, два месяца, четыре дня будут P0001-02-04T00: 00: 00
Но значения в этом формате не могут превышать точку пролонгации данного периода (например, 25 часов недопустимо).
P
но эта ссылка настолько занижена. Я предположил , что это означает период , и я искалphp.net
для этого слова, я , очевидно , никогда не попал на страницы конструктора .. Но это не ссылается наdate_format
,DateTime::diff
,DateTime::format
,DateInterval
, и множество общихDate/Time
функций. Я хотел знать, есть ли еще какие-нибудь префиксы, о которых нужно знать, и будь проклят, если я смогу их найти, пока не