Exemple #1
0
 /**
  * Returns a copy of this time with the specified amount added.
  * <p>
  * This returns an {@code OffsetTime}, based on this one, with the amount
  * in terms of the unit added. If it is not possible to add the amount, because the
  * unit is not supported or for some other reason, an exception is thrown.
  * <p>
  * If the field is a {@link ChronoUnit} then the addition is implemented by
  * {@link LocalTime#plus(long, TemporalUnit)}.
  * The offset is not part of the calculation and will be unchanged in the result.
  * <p>
  * If the field is not a {@code ChronoUnit}, then the result of this method
  * is obtained by invoking {@code TemporalUnit.addTo(Temporal, long)}
  * passing {@code this} as the argument. In this case, the unit determines
  * whether and how to perform the addition.
  * <p>
  * This instance is immutable and unaffected by this method call.
  *
  * @param int $amountToAdd the amount of the unit to add to the result, may be negative
  * @param TemporalUnit $unit the unit of the amount to add, not null
  * @return OffsetTime an {@code OffsetTime} based on this time with the specified amount added, not null
  * @throws DateTimeException if the addition cannot be made
  * @throws UnsupportedTemporalTypeException if the unit is not supported
  * @throws ArithmeticException if numeric overflow occurs
  */
 public function plus($amountToAdd, TemporalUnit $unit)
 {
     if ($unit instanceof ChronoUnit) {
         return $this->_with($this->time->plus($amountToAdd, $unit), $this->offset);
     }
     return $unit->addTo($this, $amountToAdd);
 }