コード例 #1
0
ファイル: DatePeriodTest.php プロジェクト: phellow/date
 /**
  * @depends testForeach
  */
 public function testGetStatusInvalid()
 {
     $start = new \DateTime('2014-12-31');
     $interval = \DateInterval::createFromDateString('first monday of next month');
     $end = new DateTime('2014-12-31');
     $period = new DatePeriod($start, $interval, $end);
     $this->assertEquals(DatePeriod::STATUS_INVALID, $period->getStatus(new DateTime('2014-01-01')));
     $this->assertEquals(DatePeriod::STATUS_INVALID, $period->getStatus(new DateTime('2014-06-02')));
     $this->assertEquals(DatePeriod::STATUS_INVALID, $period->getStatus(new DateTime('2014-06-18')));
     $this->assertEquals(DatePeriod::STATUS_INVALID, $period->getStatus(new DateTime('2014-12-31')));
 }
コード例 #2
0
ファイル: Period.php プロジェクト: ebussola/common
 public function __construct(\DateTime $start, $interval, $end)
 {
     if (!$interval instanceof \DateInterval) {
         $interval = new \DateInterval("P{$interval}D");
     }
     if (!$end instanceof \DateTime) {
         $recurrences = $end;
         $end = clone $start;
         for ($i = 0; $i <= $recurrences; $i++) {
             $end = $end->add($interval);
         }
     }
     $this->start = $start;
     $this->end = $end;
     $this->interval = $interval;
     parent::__construct($start, $interval, $end);
 }
コード例 #3
0
ファイル: dateperiod_getter.php プロジェクト: sskblr/hhvm
<?php

$period = new DatePeriod(new DateTime("2015-01-01"), new DateInterval("PT6H"), new DateTime("2015-01-02"));
$period->getStartDate()->modify("+7 days");
// Make sure we got clone right
$period->getEndDate()->modify("+7 days");
echo 'Starting Date = ', $period->getStartDate()->format('Y-m-d'), PHP_EOL;
echo 'Ending Date = ', $period->getEndDate()->format('Y-m-d'), PHP_EOL;
echo 'Interval = ', $period->getDateInterval()->format('%H hours'), PHP_EOL;
コード例 #4
0
<?php

$start = new DateTime('2000-01-01 00:00:00', new DateTimeZone('Europe/Berlin'));
$end = new DateTime('2000-01-31 00:00:00', new DateTimeZone('UTC'));
$interval = new DateInterval('P1D');
$period = new DatePeriod($start, $interval, $end);
var_dump($period->getStartDate()->format('Y-m-d H:i:s'));
var_dump($period->getStartDate()->getTimeZone()->getName());
var_dump($period->getEndDate()->format('Y-m-d H:i:s'));
var_dump($period->getEndDate()->getTimeZone()->getName());
var_dump($period->getDateInterval()->format('%R%y-%m-%d-%h-%i-%s'));