(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::equals — Сравнивает время двух объектов IntlCalendar на предмет равенства
Объектно-ориентированный стиль
Процедурный стиль
Возвращает true, если у обоих календарей одно и то же время. Настройки, типы календаря и состояния полей не обязательно должны совпадать.
calendar
Экземпляр IntlCalendar.
other
Календарь для сравнения с основным объектом.
Возвращает true
, если текущее время этого и переданного в IntlCalendar
объекта одинаковое или 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