(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 0200 时,时钟后退一小时,
时区从 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