DateInterval::format Форматирует интервал &reftitle.description; public stringDateInterval::format stringformat Форматирует интервал. &reftitle.parameters; format В строке <parameter>format</parameter> распознаются следующие символы. Каждому такому символу должен предшествовать знак процента (<literal>%</literal>). Символ в строкеformat Описание Пример значения % Символ % % Y Годы, число, минимум две цифры с ведущими нулями 01, 03 y Годы, число 1, 3 M Месяцы, число, минимум две цифры с ведущими нулями 01, 03, 12 m Месяцы, число 1, 3, 12 D Дни, число, минимум две цифры с ведущими нулями 01, 03, 31 d Дни, число 1, 3, 31 a Общее количество дней в качестве результата выполнения DateTime::diff, либо unknown 4, 18, 8123 H Часы, число, минимум две цифры с ведущими нулями 01, 03, 23 h Часы, число 1, 3, 23 I Минуты, число, минимум две цифры с ведущими нулями 01, 03, 59 i Минуты, число 1, 3, 59 S Секунды, число, минимум две цифры с ведущими нулями 01, 03, 57 s Секунды, число 1, 3, 57 F Микросекунды, число, как минимум 6 цифр с ведущим 0 007701, 052738, 428291 f Микросекунды, число 7701, 52738, 428291 R Знак "-" при отрицательном числе, "+" при положительном -, + r Знак "-" при отрицательном числе, пусто при положительном -,
&reftitle.returnvalues; Возвращает отформатированный интервал. &reftitle.changelog; &Version; &Description; 7.2.12 Формат F и f теперь всегда будет положительным. 7.1.0 Добавлены форматирующие символы F и f. &reftitle.examples; Пример использования <classname>DateInterval</classname> format('%d days'); ?> ]]> &example.outputs; <classname>DateInterval</classname> и перенос единиц format('%d days'); ?> ]]> &example.outputs; <classname>DateInterval</classname> и <methodname>DateTime::diff</methodname> с модификаторами %a и %d diff($january); // %a выведет общее количество дней. echo $interval->format('%a total days')."\n"; // В то время как %d выведет только число дней, не покрытых месяцем echo $interval->format('%m month, %d days'); ?> ]]> &example.outputs; &reftitle.notes; Метод DateInterval::format не делает пересчёта и переноса единиц времени при переполнении значений дат. Это ожидаемое поведение, поскольку невозможно реализовать перенос при значениях, например, "32 дня", которые могут интерпретироваться по-разному, начиная "1 месяц и 4 дня" и заканчивая "1 месяц и 1 день". &reftitle.seealso; DateTime::diff