• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • IntlCalendar::equals()

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

    Compare time of two IntlCalendar objects for equality

    说明

    面向对象风格
    publicIntlCalendar::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().

    范例

    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