IntlCalendar::equals

(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::equalsCompare time of two IntlCalendar objects for equality

说锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟�

public IntlCalendar::equals ( IntlCalendar $other ) : bool

锟斤拷锟教伙拷锟斤拷锟�

intlcal_equals ( IntlCalendar $cal , IntlCalendar $other ) : bool

Returns true if this calendar and the given calendar have the same time. The settings, calendar types and field states do not have to be the same.

锟斤拷锟斤拷

cal

The IntlCalendar resource.

other

The calendar to compare with the primary object.

锟斤拷锟斤拷值

Returns TRUE if the current time of both this and the passed in IntlCalendar object are the same, or FALSE otherwise. The value FALSE can also be returned on failure. This can only happen if bad arguments are passed in. In any case, the two cases can be distinguished by calling intl_get_error_code().

锟斤拷锟斤拷

Example #1 IntlCalendar::equals()

<?php
ini_set
('date.timezone''UTC');

$cal1 IntlCalendar::createInstance(NULL'es_ES');
$cal2 = clone $cal1;

var_dump($cal1->equals($cal2)); //TRUE

//The locale is not included in the comparison
$cal2 IntlCalendar::createInstance(NULL'pt_PT');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//And set fields state is not included as well
$cal2->clear(IntlCalendar::FIELD_YEAR);
var_dump($cal1->isSet(IntlCalendar::FIELD_YEAR) ==
        
$cal2->isSet(IntlCalendar::FIELD_YEAR)); //FALSE
var_dump($cal1->equals($cal2)); //TRUE

//Neither is the calendar type
$cal2 IntlCalendar::createInstance(NULL'es_ES@calendar=islamic');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//Only the time is
$cal2 = clone $cal1;
$cal2->setTime($cal1->getTime() + 1.);
var_dump($cal1->equals($cal2)); //FALSE