本文整理汇总了PHP中DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange方法的典型用法代码示例。如果您正苦于以下问题:PHP DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange方法的具体用法?PHP DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange怎么用?PHP DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateTimeUtil
的用法示例。
在下文中一共展示了DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testGetWeekStartAndEndDatesBetweenTwoDatesInARange
public function testGetWeekStartAndEndDatesBetweenTwoDatesInARange()
{
$monthsData = DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange('2013-01-20', '2013-08-03');
$this->assertEquals('2013-01-20', $monthsData['2013-01-14']);
$this->assertEquals('2013-08-04', $monthsData['2013-07-29']);
$monthsData = DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange('2013-01-21', '2013-01-28');
$compareData = array('2013-01-21' => '2013-01-27', '2013-01-28' => '2013-02-03');
$this->assertEquals($compareData, $monthsData);
$monthsData = DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange('2013-01-20', '2013-01-26');
$compareData = array('2013-01-14' => '2013-01-20', '2013-01-21' => '2013-01-27');
$this->assertEquals($compareData, $monthsData);
$monthsData = DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange('2013-01-20', '2014-01-26');
$this->assertEquals('2013-01-20', $monthsData['2013-01-14']);
$this->assertEquals('2014-01-26', $monthsData['2014-01-20']);
$monthsData = DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange('2012-12-28', '2013-01-03');
$compareData = array('2012-12-24' => '2012-12-30', '2012-12-31' => '2013-01-06');
$this->assertEquals($compareData, $monthsData);
$monthsData = DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange('2013-04-01', '2013-04-01');
$compareData = array('2013-04-01' => '2013-04-07');
$this->assertEquals($compareData, $monthsData);
}
示例2: makeGroupedDateTimeData
/**
* Given a begin date, end date and grouping type, return array of data that includes information on how the
* grouping breaks up by the date range including the start/end dateTime for each range and a display label
* @param string $beginDate
* @param string $endDate
* @param string $groupBy
* @param boolean $treatDatesAsDefinitive - if the group begin/end dates should be restricted by the passed
* begin end dates, then set this true. If you want the true begin month or end month to be returned then set
* to false.
* @throws NotSupportedException
* @return array
*/
public static function makeGroupedDateTimeData($beginDate, $endDate, $groupBy, $treatDatesAsDefinitive = true)
{
assert('is_string($beginDate)');
assert('is_string($endDate)');
assert('is_string($groupBy)');
$data = array();
if ($groupBy == MarketingOverallMetricsForm::GROUPING_TYPE_DAY) {
foreach (DateTimeUtil::getDatesBetweenTwoDatesInARange($beginDate, $endDate) as $date) {
$data[] = array('beginDate' => $date, 'endDate' => $date, 'displayLabel' => static::resolveAbbreviatedDayMonthDisplayLabel($date));
}
} elseif ($groupBy == MarketingOverallMetricsForm::GROUPING_TYPE_WEEK) {
foreach (DateTimeUtil::getWeekStartAndEndDatesBetweenTwoDatesInARange($beginDate, $endDate) as $beginWeekDate => $endWeekDate) {
$displayLabel = static::resolveAbbreviatedDayMonthDisplayLabel($beginWeekDate);
if ($treatDatesAsDefinitive) {
if ($beginWeekDate < $beginDate) {
$beginWeekDate = $beginDate;
}
if ($endWeekDate > $endDate) {
$endWeekDate = $endDate;
}
}
$data[] = array('beginDate' => $beginWeekDate, 'endDate' => $endWeekDate, 'displayLabel' => $displayLabel);
}
} elseif ($groupBy == MarketingOverallMetricsForm::GROUPING_TYPE_MONTH) {
foreach (DateTimeUtil::getMonthStartAndEndDatesBetweenTwoDatesInARange($beginDate, $endDate) as $beginMonthDate => $endMonthDate) {
if ($treatDatesAsDefinitive) {
if ($beginMonthDate < $beginDate) {
$beginMonthDate = $beginDate;
}
if ($endMonthDate > $endDate) {
$endMonthDate = $endDate;
}
}
$data[] = array('beginDate' => $beginMonthDate, 'endDate' => $endMonthDate, 'displayLabel' => static::resolveAbbreviatedMonthDisplayLabel($beginMonthDate));
}
} else {
throw new NotSupportedException();
}
return $data;
}