PHP 5.6.0 released

DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0)

DateTime::setDate -- date_date_setSets the date

Descrierea

Stil obiect-orientat

public DateTime DateTime::setDate ( int $year , int $month , int $day )

Stil procedural

DateTime date_date_set ( DateTime $object , int $year , int $month , int $day )

Resets the current date of the DateTime object to a different date.

Parametri

object

Doar stilul procedural: Un obiect DateTime întors de date_create(). Funcția modifică acest obiect.

year

Year of the date.

month

Month of the date.

day

Day of the date.

Valorile întoarse

Întoarce obiectul DateTime pentru înlănțuirea metodelor sau FALSE în cazul eșecului.

Istoria schimbărilor

Versiunea Descriere
5.3.0A fost schimbată valoarea întoarsă în caz de succes din NULL în DateTime.

Exemple

Example #1 DateTime::setDate() example

Stil obiect-orientat

<?php
$date 
= new DateTime();
$date->setDate(200123);
echo 
$date->format('Y-m-d');
?>

Stil procedural

<?php
$date 
date_create();
date_date_set($date200123);
echo 
date_format($date'Y-m-d');
?>

Exemplele de mai sus vor afișa:

2001-02-03

Example #2 Values exceeding ranges are added to their parent values

<?php
$date 
= new DateTime();

$date->setDate(2001228);
echo 
$date->format('Y-m-d') . "\n";

$date->setDate(2001229);
echo 
$date->format('Y-m-d') . "\n";

$date->setDate(2001143);
echo 
$date->format('Y-m-d') . "\n";
?>

Exemplul de mai sus va afișa:

2001-02-28
2001-03-01
2002-02-03

Vedeți de asemenea

add a note add a note

User Contributed Notes 1 note

up
2
remy215 at laposte dot net
2 years ago
Be warned, DateTime::setDate() does not check for invalid input.

Illustration:
<?php
$dt
= new DateTime();
$dt->setDate(2012, 11, 31); // returns DateTime object and not false although this date does not exist
echo $dt->format('Y-m-d'); // output: 2012-12-01
?>

No error was generated on entering a non existing date, php silently changed it.
To Top