(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::setTime — 设置自纪元以来的毫秒数的日历时间
面向对象风格
过程化风格
设置此对象表示的时刻。此时刻由一个float表示,其值应为自纪元(1970年1月1日00:00:00.000 UTC)以来的毫秒数的整数,忽略闰秒。所有字段值将相应地重新计算。
calendar
一个IntlCalendar实例。
timestamp
一个时刻,由该时刻与纪元之间的毫秒数表示,忽略闰秒。
示例 #1 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";
/* 在 Europe/Lisbon,2013-10-27 02:00 时,时间拨回一小时,
时区从 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";
以上示例将输出
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