/** * comparand conforms to protocol DateAndTime, * or can be converted into something that conforms. * * @param object $comparand * @return boolean * @access public * @since 5/3/05 */ function isLessThan($comparand) { $comparandAsDateAndTime = $comparand->asDateAndTime(); if ($this->offset->isEqualTo($comparandAsDateAndTime->offset())) { $myTicks = $this->ticks(); $comparandTicks = $comparandAsDateAndTime->ticks(); } else { $meAsUTC = $this->asUTC(); $myTicks = $meAsUTC->ticks(); $comparandAsUTC = $comparandAsDateAndTime->asUTC(); $comparandTicks = $comparandAsUTC->ticks(); } if ($myTicks[0] < $comparandTicks[0]) { return TRUE; } else { return $myTicks[0] == $comparandTicks[0] && $myTicks[1] < $comparandTicks[1]; } }
/** * Answer an Timespan. anEnd must be aDateAndTime or a Timespan * * @param object $anEnd Must be a DateAndTime or a Timespan * @return object Timespan * @access public * @since 5/13/05 */ function to($anEnd) { $obj = Timespan::startingEnding($this->start(), $anEnd->asDateAndTime()); return $obj; }