(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::setTime — Défini le temps du calendrier en milliseconde depuis l'époque
Style orienté objet
Style procédural
Défini l'instant représenté par cet objet. L'instant est représenté par un float dont la valeur est un nombre entier de millisecondes depuis l'époque Unix (1 Jan 1970 00:00:00.000 UTC), en ignorant la dernière seconde. Toutes les valeurs des champs seront recalculées en conséquent.
calendar
Une instance IntlCalendar.
timestamp
Un instant, représenté par le nombre de millisecondes entre l'instant et l'époque Unix, en ignorant la dernière seconde.
Exemple #1 Exemple avec IntlCalendar::setTime()
<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');
$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
/* En Europe/Lisbon, le 2013-10-27 à 0200, l'horloge perd une heure
et le fuseau horaire passe de UTC+01 à UTC+00 */
$cal->setTime(strtotime('2013-10-27 00:30:00 UTC') * 1000.);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
$cal->setTime(strtotime('2013-10-27 01:30:00 UTC') * 1000.);
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
L'exemple ci-dessus va afficher :
samedi 1 juin 2013 12:00:00 heure avancée d’Europe de l’Ouest dimanche 27 octobre 2013 01:30:00 heure avancée d’Europe de l’Ouest dimanche 27 octobre 2013 01:30:00 heure normale d’Europe de l’Ouest