Думаю, на это можно ответить поподробнее. Прежде всего, DateIntervalметод конструктора принимает один параметр с именем $interval_specstring.
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функций. Я хотел знать, есть ли еще какие-нибудь префиксы, о которых нужно знать, и будь проклят, если я смогу их найти, пока не