(PHP 5 >= 5.2.0, PHP 7)
DateTime::setISODate -- date_isodate_set — Configure une date ISO
Style orienté objet
Style procédural
Configure une date au format ISO 8601 : en utilisant des décalages de semaines et de jours, au lieu de dates spécifiques.
object
Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.
year
L'année de la date.
week
Le numéro de la semaine.
day
Décalage par rapport au premier jour de la semaine.
Retourne l'objet DateTime pour chainer les méthodes ou FALSE
si une erreur survient.
Version | Description |
---|---|
5.3.0 | Changement de
valeur de retour de NULL à DateTime en cas de succès. |
Exemple #1 Exemple avec DateTime::setISODate()
Style orienté objet
<?php
$date = new DateTime();
$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>
Style procédural
<?php
$date = date_create();
date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";
date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>
Les exemples ci-dessus vont afficher :
2008-01-07 2008-01-13
Exemple #2 Les valeurs qui excèdent leur bornes s'ajoutent à leur parent
<?php
$date = new DateTime();
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "\n";
?>
L'exemple ci-dessus va afficher :
2008-01-13 2008-01-14 2009-01-04
Exemple #3 Calcul du mois dans lequel est une semaine
<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>
Les exemples ci-dessus vont afficher :
3