【问题标题】:Exclude 2 months (date)不包括 2 个月(日期)
【发布时间】:2018-11-29 06:23:21
【问题描述】:

我在函数中添加了一个条件。我想如果新日期 ($dateSelect) 介于 7 月 1 日和 8 月 30 日之间,它会在 9 月份发生变化,我也会排除周日,如果它在周日它会转移到周六。这就是我已经做过的:

function calcDate($date)
{
    $dateSelect = date('Y-m-d', strtotime('+30 days', strtotime($date)));
}

你知道我该怎么做吗?

谢谢。

【问题讨论】:

  • 您的问题不清楚但也可以使用echo $dateSelect = date('Y-m-d', strtotime('+2 Months', strtotime($date)))
  • 我想检查变量 $dateSelect,如果它介于 7 月和 8 月之间,则此日期将移至 9 月。
  • 九月几号?
  • 仍然不清楚。 :-(
  • 例如,如果变量等于 2018-07-28,则新日期必须是 2018-09-28

标签: php


【解决方案1】:

您可以使用date("m") 找出新计算日期中的月份。
如果在期限内,则将其移至 9 月。

function calcDate($date)
{
    $m = date('m', strtotime('+30 days', strtotime($date)));
    if($m >= 7 && $m< 9){
        $dateSelect = date('Y-09-d', strtotime($date));   
    }else{
        $dateSelect = date('Y-m-d', strtotime('+30 days', strtotime($date)));
    }
    $N =  date("N", strtotime($dateSelect));

    if($N >6) $dateSelect = date("Y-m-d", strtotime($dateSelect . " previous Saturday"));  

    return $dateSelect;
}

echo calcDate("2018-07-30"); // should return 30, but thats's a sunday. So 2018-09-29

https://3v4l.org/QSCvL

【讨论】:

  • 没问题!如果它是一个好的答案,请随意投票和/或接受
  • 如果我不想计算星期天,可以吗?
  • 你的意思是如果选择的日期是星期天,那就是下一个星期一?
  • 不是星期一,而是前一天
  • 您应该编辑您的问题并包括所有这些。如果其他人稍后发现此问题,他们将阅读该问题,而我的回答与该问题不匹配。在问题中包含您的所有要求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 2020-02-26
  • 1970-01-01
相关资源
最近更新 更多