DateTimeImmutable::modify
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::modify — Creates a new object with modified timestamp
说明
Creates a new DateTimeImmutable object with modified timestamp. The original object is not modified.
参数
-
object
-
仅过程化风格:由 date_create() 返回的 DateTime 类型的对象。此函数会修改这个对象。
-
modifier
-
日期/时间字符串。正确格式的说明详见 日期与时间格式。
返回值
Returns a new modified DateTimeImmutable object 或者在失败时返回 false
.
范例
示例 #1 DateTimeImmutable::modify() example
面向对象风格
<?php
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');
?>
以上例程会输出:
2006-12-13
示例 #2 Beware when adding or subtracting months
<?php
$date = new DateTimeImmutable('2000-12-31');
$newDate1 = $date->modify('+1 month');
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
?>
以上例程会输出:
2001-01-31 2001-03-03
参见
- DateTimeImmutable::add() - Returns a new object, with added amount of days, months, years, hours, minutes and seconds
- DateTimeImmutable::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds
- DateTimeImmutable::setDate() - Sets the date
- DateTimeImmutable::setISODate() - Sets the ISO date
- DateTimeImmutable::setTime() - Sets the time
- DateTimeImmutable::setTimestamp() - Sets the date and time based on a Unix timestamp

User Contributed Notes 1 note
dmytro dot sokil at gmail dot com ¶
4 years ago
To modify milliseconds and microseconds use next formats:
<?php
$a = new \DateTimeImmutable('2018-01-01 00:00:00.000');
$b = $a->modify('9 msec');
var_dump($b->format('Y-m-d H:i:s.u'));
?>
Returns string(26) "2018-01-01 00:00:00.009000"
<?php
$a = new \DateTimeImmutable('2018-01-01 00:00:00.000');
$b = $a->modify('9 usec');
var_dump($b->format('Y-m-d H:i:s.u'));
?>
Returns "2018-01-01 00:00:00.000009"
备份地址:http://www.lvesu.com/blog/php/datetimeimmutable.modify.php