IntlCalendar::equals

Compare time of two IntlCalendar objects for equality

&reftitle.description;

&style.oop;

public `bool` `IntlCalendar::equals` `IntlCalendar` `other`

&style.procedural;

`bool` `intlcal_equals` `IntlCalendar` `cal` `IntlCalendar` `other`

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.

&reftitle.parameters;

`cal`

- The IntlCalendar resource.

`other`

- The calendar to compare with the primary object.

&reftitle.returnvalues;

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`.

&reftitle.examples;

### `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