DateInterval::format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::format β€” Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»

ОписаниС

public function DateInterval::format(string $format): string

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

format

Π’ строкС format Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ символы. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚Π°ΠΊΠΎΠΌΡƒ символу Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° (%).
Π‘ΠΈΠΌΠ²ΠΎΠ» Π² строкС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 Π—Π½Π°ΠΊ "-" ΠΏΡ€ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ числС, пусто ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ -,

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

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

ВСрсия ОписаниС
7.2.12 Π€ΠΎΡ€ΠΌΠ°Ρ‚ F ΠΈ f Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.
7.1.0 Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ символы F ΠΈ f.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования DateInterval

<?php

$interval
= new DateInterval('P2Y4DT6H8M');
echo
$interval->format('%d days');

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

4 days

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 DateInterval ΠΈ пСрСнос Π΅Π΄ΠΈΠ½ΠΈΡ†

<?php

$interval
= new DateInterval('P32D');
echo
$interval->format('%d days');

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

32 days

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3 DateInterval ΠΈ DateTime::diff() с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ %a ΠΈ %d

<?php

$january
= new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);

// ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ %a Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство Π΄Π½Π΅ΠΉ.
echo $interval->format('%a total days')."\n";

// Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ %d Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство Π΄Π½Π΅ΠΉ, Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… мСсяцСм
echo $interval->format('%m month, %d days');

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

31 total days
1 month, 0 days

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

ΠœΠ΅Ρ‚ΠΎΠ΄ DateInterval::format() Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ пСрСсчёта ΠΈ пСрСноса Π΅Π΄ΠΈΠ½ΠΈΡ† Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Ρ‚. Π­Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСнос ΠΏΡ€ΠΈ значСниях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "32 дня", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, начиная "1 мСсяц ΠΈ 4 дня" ΠΈ заканчивая "1 мСсяц ΠΈ 1 дСнь".

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • DateTime::diff() - Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
4
online dot cloudmeetings dot marco at gmail dot com ΒΆ
1 year ago
Pls note these important abbreviations; 

P: period
Y: years
M: months
D: days
T: time
H: hours
M: minutes
S: seconds

The above is from the ISO 8601 - an international standard that defines how to use, store, and transfer date, time, and duration information.