DateTimeImmutable::sub

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

DateTimeImmutable::sub β€” Subtracts an amount of days, months, years, hours, minutes and seconds

Опис

#[\NoDiscard]
public DateTimeImmutable::sub(DateInterval $interval): DateTimeImmutable

Returns a new DateTimeImmutable object, with the specified DateInterval object subtracted from the specified DateTimeImmutable object.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ

interval

A DateInterval object

ЗначСння, Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°ΡŽΡ‚ΡŒΡΡ

ΠŸΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” Π½ΠΎΠ²ΠΈΠΉ ΠΎΠ±'Ρ”ΠΊΡ‚ DateTimeImmutable Π·Ρ– Π·ΠΌΡ–Π½Π΅Π½ΠΈΠΌΠΈ Π΄Π°Π½ΠΈΠΌΠΈ.

Помилки/Π²ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ

If an unsupported operation is attempted, such as using a DateInterval object representing relative time specifications such as next weekday, a DateInvalidOperationException is thrown.

Π–ΡƒΡ€Π½Π°Π» Π·ΠΌΡ–Π½

ВСрсія Опис
8.3.0 Now throws a DateInvalidOperationException instead of a warning when an unsupported operation is attempted.

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ΠΈ

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #1 DateTimeImmutable::sub() example

Об'Ρ”ΠΊΡ‚Π½ΠΎ-ΠΎΡ€Ρ–Ρ”Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ

<?php
$date
= new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P10D'));
echo
$newDate->format('Y-m-d') . "\n";
?>

Поданий Π²ΠΈΡ‰Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄ Π²ΠΈΠ²Π΅Π΄Π΅:

2000-01-10

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #2 Further DateTimeImmutable::sub() examples

<?php
$date
= new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('PT10H30S'));
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

Поданий Π²ΠΈΡ‰Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄ Π²ΠΈΠ²Π΅Π΄Π΅:

2000-01-19 13:59:30
1992-08-15 19:56:58

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #3 Beware when subtracting months

<?php
$date
= new DateTimeImmutable('2001-04-30');
$interval = new DateInterval('P1M');

$newDate1 = $date->sub($interval);
echo
$newDate1->format('Y-m-d') . "\n";

$newDate2 = $newDate1->sub($interval);
echo
$newDate2->format('Y-m-d') . "\n";
?>

Поданий Π²ΠΈΡ‰Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄ Π²ΠΈΠ²Π΅Π΄Π΅:

2001-03-30
2001-03-02

ΠŸΡ€ΠΎΠ³Π»ΡΠ½ΡŒΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠΆ

οΌ‹add a note

User Contributed Notes

There are no user contributed notes for this page.