- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想创建有开始时间、结束时间和休息时间的时间段。
public function getServiceScheduleSlots($duration,$break, $stTime,$enTime)
{
$start = new DateTime($stTime);
$end = new DateTime($enTime);
$interval = new DateInterval("PT" . $duration. "M");
$period = new DatePeriod($start, $duration, $end);
foreach ($period as $dt) {
$periods[] = $dt->format('H:iA');
}
return $periods;
}
例如,
我的服务开始时间10:00 AM,结束时间12:00 PM。
条件每次服务时间30分钟和15分钟休息。
上面的方法返回类似,
预期结果为,
我想在每个时段开始时添加休息时间。
提前致谢。
最佳答案
这个怎么样....
function getServiceScheduleSlots($duration,$break, $stTime,$enTime)
{
$start = new DateTime($stTime);
$end = new DateTime($enTime);
$interval = new DateInterval("PT" . $duration. "M");
$breakInterval = new DateInterval("PT" . $break. "M");
for ($intStart = $start;
$intStart < $end;
$intStart->add($interval)->add($breakInterval)) {
$endPeriod = clone $intStart;
$endPeriod->add($interval);
if ($endPeriod > $end) {
$endPeriod=$end;
}
$periods[] = $intStart->format('H:iA') .
' - ' .
$endPeriod->format('H:iA');
}
return $periods;
}
关于PHP 使用 DatePeriod 创建带休息时间的时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20606770/
我想使用 PHP DateInterval 来迭代月份: $from = new DateTime(); $from->setDate(2014, 1, 31); $period = new Date
为什么今天被排除在返回值之外? SELECT DATE(created) AS reg_date, COUNT(*) AS user_reg_per_day FROM users WHE
我决定对我使用的 PHP 版本进行更新,从 5.4.7 到 5.4.30。看到一些扩展 DatePeriod 的脚本开始抛出错误消息,我感到非常惊讶。 这是稍后提到的错误报告中的代码示例。 test
我正在尝试获取本周所有工作日的日期范围。为此,我编写了以下代码。 代码 $begin = new DateTime('monday this week'); 2016-07-04 $end = clo
我想创建有开始时间、结束时间和休息时间的时间段。 public function getServiceScheduleSlots($duration,$break, $stTime,$enTime)
我尝试获取一段时间内的所有天数。是一整天还是几个小时都没关系。我当前使用 DatePeriod 的代码对我不起作用。 例子: [start] => DateTime Object (
如何获取 DatePeriod 对象的开始和结束日期? $today = new \DateTime(date('Y-m-d')); // 2012-05-30 $period = new \Dat
我刚问了这个问题,它被标记为已经回答,但这样做的人显然不明白这个问题。 这篇文章被标记为对此的重复问题, How to get time difference in minutes in PHP ,
我了解日期期间的工作原理,但有一个异常(exception),有没有办法从日期期间找出有多少个间隔? 例如: // define the period of the range $period = n
在使用 DateTime DateInterval 和 DatePeriod 计算两个日期之间的间隔时,我在使用 P1W(周)和 P1M(月)时遇到了一些意想不到的结果。 如果我们获取 9 月 30
我需要在一段时间内获取某些工作日。工作日只能是一个或多个,例如仅所有星期一或所有星期一、星期二和星期三。 我想使用 DatePeriod连同 DateInterval::createFromDateS
我正在尝试像这样使用 PHP DatePeriod 来创建一个年周数组: $from = new DateTime('2014-09-16'); $to = new DateTime('2015-02
我有两个 DateTime 对象: $start = new DateTime('first thursday of June 2012'); $end = new DateTime('2012-
我是一名优秀的程序员,十分优秀!