示例#1
0
 /**
  * Test Converting Methods
  * 
  */
 function test_converting()
 {
     // Converting
     $timespan = Year::startingDuration(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 5, 4, 15, 25, 10, Duration::withHours(-4)), Duration::withDays(10));
     // asDate()
     $temp = $timespan->asDate();
     $this->assertTrue($temp->isEqualTo(Date::withYearMonthDay(2005, 5, 4)));
     // asDateAndTime()
     $temp = $timespan->asDateAndTime();
     $this->assertTrue($temp->isEqualTo(DateAndTime::withYearMonthDayHourMinuteSecond(2005, 5, 4, 00, 00, 00)));
     // asDuration()
     $temp = $timespan->asDuration();
     $this->assertTrue($temp->isEqualTo(Duration::withDays(365)));
     // asMonth()
     $temp = $timespan->asMonth();
     $this->assertTrue($temp->isEqualTo(Month::withMonthYear(5, 2005)));
     // asTime()
     $temp = $timespan->asTime();
     $dateAndTime = DateAndTime::withYearMonthDayHourMinuteSecond(2005, 5, 4, 0, 0, 0);
     $this->assertTrue($temp->isEqualTo($dateAndTime->asTime()));
     // asTimeStamp()
     $temp = $timespan->asTimeStamp();
     $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecond(2005, 5, 4, 0, 0, 0)));
     // asWeek()
     $temp = $timespan->asWeek();
     $this->assertTrue($temp->isEqualTo(Week::starting(Date::withYearMonthDay(2005, 5, 1))));
     // asYear()
     $temp = $timespan->asYear();
     $this->assertTrue($temp->isEqualTo(Year::starting(Date::withYearMonthDay(2005, 5, 4))));
     // to()
     $temp = $timespan->to(Date::withYearMonthDay(2005, 10, 1));
     $comparison = Timespan::startingEnding(DateAndTime::withYearMonthDayHourMinuteSecond(2005, 5, 4, 0, 0, 0), Date::withYearMonthDay(2005, 10, 1));
     $this->assertTrue($temp->isEqualTo($comparison));
 }
示例#2
0
 /**
  * Answer the week that represents this date's week
  * 
  * @return object Week
  * @access public
  * @since 5/5/05
  */
 function asWeek()
 {
     $obj = Week::starting($this);
     return $obj;
 }
 /**
  * Test converting
  */
 function test_converting()
 {
     $dateAndTime = DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 6, 4, 15, 25, 10, Duration::withHours(-5));
     // asDate()
     $temp = $dateAndTime->asDate();
     $this->assertTrue($temp->isEqualTo(Date::withYearMonthDay(2005, 6, 4)));
     // asDuration()
     $temp = $dateAndTime->asDuration();
     $this->assertTrue($temp->isEqualTo(Duration::withSeconds(55510)));
     // asDateAndTime()
     $temp = $dateAndTime->asDateAndTime();
     $this->assertTrue($temp->isEqualTo(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 6, 4, 15, 25, 10, Duration::withHours(-5))));
     // asLocal()
     $startDuration = Duration::withHours(-5);
     $localOffset = DateAndTime::localOffset();
     $difference = $localOffset->minus($startDuration);
     $temp = $dateAndTime->asLocal();
     $local = DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 6, 4, 15 + $difference->hours(), 25, 10, $localOffset);
     $this->assertTrue($temp->isEqualTo($local));
     // asMonth()
     $temp = $dateAndTime->asMonth();
     $this->assertTrue($temp->isEqualTo(Month::withMonthYear(6, 2005)));
     // asSeconds()
     $localOffset = DateAndTime::localOffset();
     $this->assertEqual($dateAndTime->asSeconds(), 3295369510 + $localOffset->asSeconds());
     // asTime()
     $temp = $dateAndTime->asTime();
     $this->assertTrue($temp->isEqualTo(Time::withHourMinuteSecond(15, 25, 10)));
     $this->assertTrue($temp->isEqualTo(Time::withSeconds(55510)));
     // asTimeStamp()
     $temp = $dateAndTime->asTimeStamp();
     $this->assertTrue($temp->isEqualTo(TimeStamp::withYearMonthDayHourMinuteSecondOffset(2005, 6, 4, 15, 25, 10, Duration::withHours(-5))));
     // asUTC()
     $temp = $dateAndTime->asUTC();
     $this->assertTrue($temp->isEqualTo(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 6, 4, 20, 25, 10, Duration::withHours(0))));
     // asWeek()
     $temp = $dateAndTime->asWeek();
     $this->assertTrue($temp->isEqualTo(Week::starting($dateAndTime)));
     // asYear()
     $temp = $dateAndTime->asYear();
     $this->assertTrue($temp->isEqualTo(Year::starting($dateAndTime)));
     // midnight();
     $temp = $dateAndTime->atMidnight();
     $this->assertTrue($temp->isEqualTo(DateAndTime::withYearMonthDayHourMinuteSecond(2005, 6, 4, 0, 0, 0)));
     // middleOf()
     $dat = DateAndTime::withYearDay(2005, 100);
     $timespan = $dat->middleOf(Duration::withDays(100));
     $start = $timespan->start();
     $duration = $timespan->duration();
     $end = $timespan->end();
     $this->assertEqual($start->dayOfYear(), 50);
     $this->assertTrue($start->isEqualTo(DateAndTime::withYearDay(2005, 50)));
     $this->assertEqual($duration->days(), 100);
     $this->assertEqual($end->dayOfYear(), 149);
     // to()
     $datA = DateAndTime::withYearDay(2005, 125);
     $datB = DateAndTime::withYearDay(2006, 125);
     $timespan = $datA->to($datB);
     $this->assertEqual($timespan->startYear(), 2005);
     $this->assertEqual($timespan->dayOfYear(), 125);
     $duration = $timespan->duration();
     $this->assertTrue($duration->isEqualTo(Duration::withDays(365)));
     $end = $timespan->end();
     $this->assertEqual($end->julianDayNumber(), 2453860);
     $this->assertEqual($end->julianDayNumber() - $datA->julianDayNumber(), 364);
     $this->assertEqual($end->year(), 2006);
     $this->assertEqual($end->dayOfYear(), 124);
     $this->assertTrue($end->isEqualTo(DateAndTime::withYearDayHourMinuteSecond(2006, 124, 23, 59, 59)));
     // withOffset()
     $temp = $dateAndTime->withOffset(Duration::withHours(-7));
     $this->assertTrue($temp->isEqualTo(DateAndTime::withYearMonthDayHourMinuteSecondOffset(2005, 6, 4, 15, 25, 10, Duration::withHours(-7))));
 }
示例#4
0
 /**
  * Test converting methods
  * 
  */
 function test_converting()
 {
     $time = Time::withHourMinuteSecond(15, 25, 10);
     // asDate ()
     $temp = $time->asDate();
     $this->assertTrue($temp->isEqualTo(Date::today()));
     $this->assertEqual(strtolower(get_class($temp)), 'date');
     // asDateAndTime ()
     $temp = $time->asDateAndTime();
     $comparison = DateAndTime::midnight();
     $comparison = $comparison->plus(Duration::withSeconds(55510));
     $this->assertTrue($temp->isEqualTo($comparison));
     $this->assertEqual(strtolower(get_class($temp)), 'dateandtime');
     // asDuration ()
     $temp = $time->asDuration();
     $this->assertTrue($temp->isEqualTo(Duration::withSeconds(55510)));
     $this->assertEqual(strtolower(get_class($temp)), 'duration');
     // asMonth ()
     $temp = $time->asMonth();
     $this->assertTrue($temp->isEqualTo(Month::starting(Date::today())));
     $this->assertEqual(strtolower(get_class($temp)), 'month');
     // asSeconds ()
     $this->assertEqual($time->asSeconds(), 55510);
     // asTime ()
     $temp = $time->asTime();
     $this->assertTrue($temp->isEqualTo($time));
     $this->assertEqual(strtolower(get_class($temp)), 'time');
     // asTimeStamp ()
     $temp = $time->asTimeStamp();
     $comparison = TimeStamp::midnight();
     $comparison = $comparison->plus(Duration::withSeconds(55510));
     $this->assertTrue($temp->isEqualTo($comparison));
     $this->assertEqual(strtolower(get_class($temp)), 'timestamp');
     // asWeek ()
     $temp = $time->asWeek();
     $this->assertTrue($temp->isEqualTo(Week::starting(Date::today())));
     $this->assertEqual(strtolower(get_class($temp)), 'week');
     // asYear ()
     $temp = $time->asYear();
     $this->assertTrue($temp->isEqualTo(Year::starting(Date::today())));
     $this->assertEqual(strtolower(get_class($temp)), 'year');
     // to ()
     $today = DateAndTime::today();
     $tomorrow = DateAndTime::tomorrow();
     $result = $time->to($tomorrow);
     $this->assertEqual(strtolower(get_class($result)), 'timespan');
     $this->assertTrue($result->isEqualTo(Timespan::startingDuration($today->plus(Duration::withSeconds(55510)), Duration::withDaysHoursMinutesSeconds(0, 8, 34, 50))));
     $result = $time->to(Time::withHourMinuteSecond(23, 25, 10));
     $this->assertEqual(strtolower(get_class($result)), 'timespan');
     $this->assertTrue($result->isEqualTo(Timespan::startingDuration($today->plus(Duration::withSeconds(55510)), Duration::withDaysHoursMinutesSeconds(0, 8, 0, 0))));
 }