【发布时间】:2016-02-16 15:04:13
【问题描述】:
好的,我正在尝试从一个日期开始生成计费周期的结束;我的问题是,如果我有一个变量 $billing_period = 02/28/2016 并且每个月的每个 14th 和 28th 都有计费周期。根据开始日期,当他们有不同的日期时,如何从这个变量生成期间的结束日期?
让我感到困惑的是,如果日期是 28th,那么除了 14th 之外,它还有 15 或 16days,这是下一个计费周期的开始。如果日期是14th,那么它与28th 相差14 天。感谢您的帮助
编辑
- 此处的图像显示了选择的日期,即 02/14/2016 我如何从开始日期回显下一个计费日期,即 02/28/2016
这是我的数组代码并获取开始日期。
<?
$date = array('16-01-14','16-01-28','16-02-14','16-02-28','16-03-14','16-03-28','16-04-14','16-04-28',
'16-05-14','16-05-28','16-06-14','16-06-28','16-07-14','16-07-28','16-08-14','16-08-28','16-09-14','16-09-28','16-10-14','16-10-28',
'16-11-14','16-11-28','16-12-14','16-12-28');
$currentdate = date('y-m-d');
foreach ($date as $i => $d) {
if ($currentdate >= $d && ($i == count($date)-1 || $currentdate < $date[$i+1])) {
$selected = "selected";
$selected_int = $i;
} else {
$selected = "";
}
list($year, $month, $day) = explode('-', $d);
echo "<option $selected>" . date("m/d/Y", strtotime($d)) . "</option>";
}
?>
【问题讨论】:
-
我不确定我是否理解你的问题,但听起来你可以使用php.net/manual/en/function.date-diff.php
-
@Popnoodles 上面显示的几乎所有日期都相差天数,所以我应该关注间隔天数。如果它像
14th的 if 语句和28th的 if 语句一样简单,我会这样做,但事实并非如此。 -
它看起来确实是这样,而且你无缘无故地让它变得复杂。还是您的问题是“我如何计算两个日期之间的天数?”
-
@LewisTyler 如果您在问题中添加一些代码可能会有所帮助。您已经拥有选择中显示的所有账单日期。据我了解,您需要做的就是获取所选日期的日期,并以天为单位获取差异
-
(现在有代码)。好的,所以你有一个清单。当然在
if ($currentdate...){里面,这会让你像这样$nextdate = $date[$i + 1];