code: public function equate($var1, $var2)
      {
          if (!($var1 instanceof Time) || !($var2 instanceof Time)) {
              $arg1 = Values::getType($var1);
              $arg2 = Values::getType($var2);
              throw new \InvalidArgumentException("arguments must be Time instance.({$arg1}, {$arg2})");
          }
  
          $fields = $this->fields;
          if (isset($fields)) {
              foreach ($fields as $field) {
                  if ($var1->get($field) !== $var2->get($field)) {
                      return false;
                  }
              }
              return true;
          } else {
              return $var1->equals($var2);
          }
      }
docs: 指定された 2 つの時間オブジェクトが等しいかどうか調べます.
  この Equator に設定されているフィールドについて比較を行い,
  全て等しい場合のみ TRUE を返します.
  
  @param  Time $var1 比較対象の時間オブジェクト
  @param  Time $var2 比較対象の時間オブジェクト
  @return bool       2 つの時間オブジェクトが等しいと判断された場合のみ TRUE
  @throws \InvalidArgumentException 引数に Time インスタンス以外の値が指定された場合