当前位置: 首页>>代码示例>>PHP>>正文


PHP Period::generate方法代码示例

本文整理汇总了PHP中Piwik\Period::generate方法的典型用法代码示例。如果您正苦于以下问题:PHP Period::generate方法的具体用法?PHP Period::generate怎么用?PHP Period::generate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Piwik\Period的用法示例。


在下文中一共展示了Period::generate方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generate

 /**
  * Generates the subperiods (one for each month of the year)
  */
 protected function generate()
 {
     if ($this->subperiodsProcessed) {
         return;
     }
     parent::generate();
     $year = $this->date->toString("Y");
     for ($i = 1; $i <= 12; $i++) {
         $this->addSubperiod(new Month(Date::factory("{$year}-{$i}-01")));
     }
 }
开发者ID:jniebuhr,项目名称:piwik,代码行数:14,代码来源:Year.php

示例2: generate

 /**
  * Generates the subperiods (one for each day in the month)
  */
 protected function generate()
 {
     if ($this->subperiodsProcessed) {
         return;
     }
     parent::generate();
     $date = $this->date;
     $startMonth = $date->setDay(1)->setTime('00:00:00');
     $endMonth = $startMonth->addPeriod(1, 'month')->setDay(1)->subDay(1);
     $this->processOptimalSubperiods($startMonth, $endMonth);
 }
开发者ID:jniebuhr,项目名称:piwik,代码行数:14,代码来源:Month.php

示例3: generate

 /**
  * Generates the subperiods (one for each day in the month)
  */
 protected function generate()
 {
     if ($this->subperiodsProcessed) {
         return;
     }
     parent::generate();
     $date = $this->date;
     $startMonth = $date->setDay(1);
     $currentDay = clone $startMonth;
     while ($currentDay->compareMonth($startMonth) == 0) {
         $this->addSubperiod(new Day($currentDay));
         $currentDay = $currentDay->addDay(1);
     }
 }
开发者ID:KiwiJuicer,项目名称:handball-dachau,代码行数:17,代码来源:Month.php

示例4: generate

 /**
  * Generates the subperiods - one for each day in the week
  */
 protected function generate()
 {
     if ($this->subperiodsProcessed) {
         return;
     }
     parent::generate();
     $date = $this->date;
     if ($date->toString('N') > 1) {
         $date = $date->subDay($date->toString('N') - 1);
     }
     $startWeek = $date;
     $currentDay = clone $startWeek;
     while ($currentDay->compareWeek($startWeek) == 0) {
         $this->addSubperiod(new Day($currentDay));
         $currentDay = $currentDay->addDay(1);
     }
 }
开发者ID:JoeHorn,项目名称:piwik,代码行数:20,代码来源:Week.php

示例5: generate

 /**
  * Generates the subperiods
  *
  * @throws Exception
  */
 protected function generate()
 {
     if ($this->subperiodsProcessed) {
         return;
     }
     parent::generate();
     if (preg_match('/(last|previous)([0-9]*)/', $this->strDate, $regs)) {
         $lastN = $regs[2];
         $lastOrPrevious = $regs[1];
         if (!is_null($this->defaultEndDate)) {
             $defaultEndDate = $this->defaultEndDate;
         } else {
             $defaultEndDate = $this->today;
         }
         $period = $this->strPeriod;
         if ($period == 'range') {
             $period = 'day';
         }
         if ($lastOrPrevious == 'last') {
             $endDate = $defaultEndDate;
         } elseif ($lastOrPrevious == 'previous') {
             if ('month' == $period) {
                 $endDate = $defaultEndDate->subMonth(1);
             } else {
                 $endDate = $defaultEndDate->subPeriod(1, $period);
             }
         }
         $lastN = $this->getMaxN($lastN);
         // last1 means only one result ; last2 means 2 results so we remove only 1 to the days/weeks/etc
         $lastN--;
         $lastN = abs($lastN);
         $startDate = $endDate->addPeriod(-1 * $lastN, $period);
     } elseif ($dateRange = Range::parseDateRange($this->strDate)) {
         $strDateStart = $dateRange[1];
         $strDateEnd = $dateRange[2];
         $startDate = Date::factory($strDateStart);
         if ($strDateEnd == 'today') {
             $strDateEnd = 'now';
         } elseif ($strDateEnd == 'yesterday') {
             $strDateEnd = 'yesterdaySameTime';
         }
         // we set the timezone in the Date object only if the date is relative eg. 'today', 'yesterday', 'now'
         $timezone = null;
         if (strpos($strDateEnd, '-') === false) {
             $timezone = $this->timezone;
         }
         $endDate = Date::factory($strDateEnd, $timezone);
     } else {
         throw new Exception(Piwik::translate('General_ExceptionInvalidDateRange', array($this->strDate, ' \'lastN\', \'previousN\', \'YYYY-MM-DD,YYYY-MM-DD\'')));
     }
     if ($this->strPeriod != 'range') {
         $this->fillArraySubPeriods($startDate, $endDate, $this->strPeriod);
         return;
     }
     $this->processOptimalSubperiods($startDate, $endDate);
     // When period=range, we want End Date to be the actual specified end date,
     // rather than the end of the month / week / whatever is used for processing this range
     $this->endDate = $endDate;
 }
开发者ID:KiwiJuicer,项目名称:handball-dachau,代码行数:64,代码来源:Range.php


注:本文中的Piwik\Period::generate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。