PHP 8.1.28 Released!

DateTime::modify

date_modify

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

DateTime::modify -- date_modifyAlters the timestamp

Açıklama

Nesne yönelimli kullanım

public DateTime::modify(string $modifier): DateTime|false

Yordamsal kullanım

Alter the timestamp of a DateTime object by incrementing or decrementing in a format accepted by DateTimeImmutable::__construct().

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

modifier

Bir tarih/zaman dizgesi. Geçerli biçemler Tarih ve Zaman Biçemleri bölümünde açıklanmıştır.

Dönen Değerler

Değişmiş DateTime nesnesi, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Object Orientated API only: If an invalid Date/Time string is passed, DateMalformedStringException is thrown.

Sürüm Bilgisi

Sürüm: Açıklama
8.3.0 Now throws DateMalformedStringException with DateTime::modify() if an invalid string is passed, instead of a warning. date_modify() has not been changed.

Örnekler

Örnek 1 DateTime::modify() example

Nesne yönelimli kullanım

<?php
$date
= new DateTime('2006-12-12');
$date->modify('+1 day');
echo
$date->format('Y-m-d');
?>

Yordamsal kullanım

<?php
$date
= date_create('2006-12-12');
date_modify($date, '+1 day');
echo
date_format($date, 'Y-m-d');
?>

Yukarıdaki örneklerin çıktısı:

2006-12-13

Örnek 2 Beware when adding or subtracting months

<?php
$date
= new DateTime('2000-12-31');

$date->modify('+1 month');
echo
$date->format('Y-m-d') . "\n";

$date->modify('+1 month');
echo
$date->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-01-31
2001-03-03

Örnek 3 All formats of Date and Time are supported

<?php
$date
= new DateTime('2020-12-31');

$date->modify('July 1st, 2023');
echo
$date->format('Y-m-d H:i') . "\n";

$date->modify('Monday next week');
echo
$date->format('Y-m-d H:i') . "\n";

$date->modify('17:30');
echo
$date->format('Y-m-d H:i') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2023-07-01 00:00
2023-07-03 00:00
2023-07-03 17:30

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
0
php_net at striderweb dot com
20 hours ago
You have to be a bit careful with variables here. If for example you want to add a variable amount of minutes you might use `->modify("+$min"). This will not work out if `$min` is a negative number, because modify will see the "+" and ignore the "-". If `$min` equals -10, modify in this example will add ten minutes, not subtract!

What is happening is if the modify string has two operations, the first will be obeyed and later ones will be ignored.

So "+-10 minutes" will add ten minutes, even though you might expect it to add the negative number. Similarly "--10 minutes" will subtract ten minutes, despite the apparent logic of subtracting a negative number.
To Top