/** * 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)); }
<?php require_once "actions/DashboardAction.php"; require_once "classes/TimeStamp.php"; $action = new DashboardAction(); $action->execute(); require_once "header.php"; ?> <h3>Welcome, <?php echo $action->getUser()->firstName; ?> </h3> <?php foreach ($action->news as $news) { $timeStamp = new TimeStamp($news->postedOn); ?> <div class="container news-panel"> <div class="row"> <div class="col-sm-8"> <?php echo htmlentities($news->title); ?> </div> </div> <div class="row"> <div class="col-sm-8"> <?php echo htmlentities($news->content); ?> <br />
/** * Answer the date when this theme was last modified. * * @return object DateAndTime * @access public * @since 5/13/08 */ public function getModificationDate() { return TimeStamp::fromUnixTimeStamp($this->getRecentModTime($this->path)); }
/** * 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)))); }
/** * 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)))); }
/** * Answer the reciever as a UNIX timestamp - The number of seconds since the * Unix Epoch (January 1 1970 00:00:00 GMT/UTC). * * @return integer * @access public * @since 5/27/05 */ function asUnixTimeStamp() { $sinceUnixEpoch = $this->minus(TimeStamp::withYearMonthDayHourMinuteSecondOffset(1970, 1, 1, 0, 0, 0, Duration::zero())); return $sinceUnixEpoch->asSeconds(); }
/** * Answer the modification date/time * * @return object DateAndTime * @access public * @since 5/13/08 */ public function getModificationDate() { $tstamp = filemtime($this->path); if ($tstamp === false) { throw new OperationFailedException("Could not get timestamp of '" . $this->getBaseName() . "'."); } return TimeStamp::fromUnixTimeStamp($tstamp)->asDateAndTime(); }
/** * Magnitude operations * */ function test_magnitude_ops() { // Plus a Duration $dateAndTime = TimeStamp::withYearDayHourMinuteSecond(2005, 100, 0, 0, 0); $this->assertEqual(strtolower(get_class($dateAndTime)), 'timestamp'); $result = $dateAndTime->plus(Duration::withSeconds(1)); $this->assertEqual(strtolower(get_class($result)), 'timestamp'); $this->assertTrue($result->isEqualTo(TimeStamp::withYearDayHourMinuteSecond(2005, 100, 0, 0, 1))); // minus a Duration $dateAndTime = TimeStamp::withYearDayHourMinuteSecond(2005, 100, 0, 0, 0); $result = $dateAndTime->minus(Duration::withSeconds(1)); $this->assertEqual(strtolower(get_class($result)), 'timestamp'); $this->assertEqual($result->year(), 2005); $this->assertEqual($result->dayOfYear(), 99); $this->assertEqual($result->hour(), 23); $this->assertEqual($result->minute(), 59); $this->assertEqual($result->second(), 59); $this->assertTrue($result->isEqualTo(TimeStamp::withYearDayHourMinuteSecond(2005, 99, 23, 59, 59))); // Minus a DateAndTime $dateAndTime = TimeStamp::withYearDayHourMinuteSecond(2006, 100, 0, 0, 0); $result = $dateAndTime->minus(TimeStamp::withYearDayHourMinuteSecond(2005, 100, 0, 0, 0)); $this->assertEqual(strtolower(get_class($result)), 'duration'); $this->assertTrue($result->isEqualTo(Duration::withDays(365))); // Minus a DateAndTime over a leap year $dateAndTime = TimeStamp::withYearDayHourMinuteSecond(2005, 10, 0, 0, 0); $result = $dateAndTime->minus(TimeStamp::withYearDayHourMinuteSecond(2004, 10, 0, 0, 0)); $this->assertEqual(strtolower(get_class($result)), 'duration'); $this->assertTrue($result->isEqualTo(Duration::withDays(366))); // Plus a DateAndTime $dateAndTime = TimeStamp::withYearDayHourMinuteSecond(2000, 100, 5, 15, 30); $result = $dateAndTime->plus(TimeStamp::withYearDayHourMinuteSecond(2000, 100, 5, 30, 15)); $this->assertEqual(strtolower(get_class($result)), 'timestamp'); $this->assertEqual($result->year(), 2000); $this->assertEqual($result->dayOfYear(), 100); $this->assertEqual($result->hour(), 10); $this->assertEqual($result->minute(), 45); $this->assertEqual($result->second(), 45); }