(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::equals — 比较两个 IntlCalendar 对象的时间是否相等
面向对象风格
过程式风格
如果此日历和给定日历具有相同的时间,则返回 true。设置、日历类型和字段状态不必相同。
calendar
一个 IntlCalendar 实例。
other
要与主对象进行比较的日历。
如果此日历和传入的 IntlCalendar 对象的当前时间相同,则返回 true
,否则返回 false
。
如果失败,也会返回 false
。要检测错误条件,请使用 intl_get_error_code(),或设置 Intl 以抛出 异常。
示例 #1 IntlCalendar::equals()
<?php
ini_set('date.timezone', 'UTC');
$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
$cal2 = clone $cal1;
var_dump($cal1->equals($cal2)); //TRUE
//语言环境不包含在比较中
$cal2 = IntlCalendar::createInstance(NULL, 'pt_PT');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE
//设置字段状态也不包含
$cal2->clear(IntlCalendar::FIELD_YEAR);
var_dump($cal1->isSet(IntlCalendar::FIELD_YEAR) ==
$cal2->isSet(IntlCalendar::FIELD_YEAR)); //FALSE
var_dump($cal1->equals($cal2)); //TRUE
//日历类型也不包含
$cal2 = IntlCalendar::createInstance(NULL, 'es_ES@calendar=islamic');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE
//只有时间是
$cal2 = clone $cal1;
$cal2->setTime($cal1->getTime() + 1.);
var_dump($cal1->equals($cal2)); //FALSE