コード例 #1
0
ファイル: LocalTime.php プロジェクト: brick/date-time
 /**
  * Returns a copy of this LocalTime with the specific duration added.
  *
  * The calculation wraps around midnight.
  *
  * @param Duration $duration
  *
  * @return LocalTime
  */
 public function plusDuration(Duration $duration)
 {
     return $this->plusSeconds($duration->getSeconds())->plusNanos($duration->getNanos());
 }
コード例 #2
0
ファイル: Instant.php プロジェクト: brick/date-time
 /**
  * @param Duration $duration
  *
  * @return Instant
  */
 public function plus(Duration $duration)
 {
     if ($duration->isZero()) {
         return $this;
     }
     $seconds = $this->epochSecond + $duration->getSeconds();
     $nanos = $this->nano + $duration->getNanos();
     if ($nanos >= LocalTime::NANOS_PER_SECOND) {
         $nanos -= LocalTime::NANOS_PER_SECOND;
         $seconds++;
     }
     return new Instant($seconds, $nanos);
 }
コード例 #3
0
ファイル: AbstractTestCase.php プロジェクト: brick/date-time
 /**
  * @param integer  $seconds  The expected seconds.
  * @param integer  $nanos    The expected nanos.
  * @param Duration $duration The duration to test.
  */
 protected function assertDurationIs($seconds, $nanos, Duration $duration)
 {
     $this->compare([$seconds, $nanos], [$duration->getSeconds(), $duration->getNanos()]);
 }