我试图编写一个对我来说有点复杂的PHP代码......
我希望在将数据发布到我的PHP文件时检查今天的日期,如果当前日期是在本月的第五天之后,则代码将在下个月的第五天回复。 喜欢:
$today = "2018-04-24";
if(today>5){
echo "2018-05-05";
}
我希望我能让自己理解。
由于
答案 0 :(得分:4)
您需要正确的日期处理来处理2018-12-24
等边缘情况。
$today = "2018-03-31";
$dt = DateTime::createFromFormat('Y-m-d', $today);
$d = intval($dt->format('j'));
if($d > 5) {
$dt->setDate($dt->format('Y'), $dt->format('n'), 5);
$dt->add(new DateInterval('P1M'));
}
echo $dt->format('Y-m-d');
答案 1 :(得分:0)
function get_month_diff($start, $end = FALSE){
$end OR $end = time();
$start = new DateTime("@$start");
$end = new DateTime("@$end");
$diff = $start->diff($end);
return $diff->format('%y') * 12 + $diff->format('%m');}
答案 2 :(得分:0)
你可以这样做
$today = date('Y-m-d');
$exploded_date = explode('-',$today);
if($exploded_date[2] > 5){
echo date('Y-m-05', strtotime("+1 months", strtotime($today)));
}
答案 3 :(得分:-1)
在本月的第五天之后,代码将在下个月的第五天回响,你可以使用这个:
$effectiveDate = "2018-02-06";
if(date('d') > 5) {
$effectiveDate = date('Y-m-d', strtotime("+5 months", strtotime($effectiveDate)));
}