DateTime::modify

date_modify

(PHP 5 >= 5.2.0)

DateTime::modify -- date_modifyAlters the timestamp

Description

Object oriented style

public DateTime DateTime::modify ( string $modify )

Procedural style

DateTime date_modify ( DateTime $object , string $modify )

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

Parameters

object

Procedural style only: A DateTime object returned by date_create(). The function modifies this object.

modify

A date/time string. Valid formats are explained in Date and Time Formats.

Return Values

Returns the DateTime object for method chaining or FALSE on failure.

Changelog

Version Description
5.3.6 Absolute date/time statements now take effect. Previously, only relative parts were used.
5.3.0Changed the return value on success from NULL to DateTime.

Examples

Example #1 DateTime::modify() example

Object oriented style

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

Procedural style

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

The above examples will output:

2006-12-13

Example #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";
?>

The above example will output:

2001-01-31
2001-03-03

See Also

Коментарии

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.
2024-04-18 20:24:55
http://php5.kiev.ua/manual/ru/datetime.modify.html

    Поддержать сайт на родительском проекте КГБ