有没有办法确定本月28日是否过去了?
例如,如果当天是第29个月,那我怎么能抓住第28个月,或者如果这一天是第一个月,我怎么能抓住12月28日?有没有办法在php strtotime()中使用一行?
答案 0 :(得分:0)
是否 是一个单行?是否 使用strtotime()
?
$date = new DateTime('2014-01-01');
if ($date->format('j') < 28) {
$date->modify('previous month');
}
$date->setDate($date->format('Y'), $date->format('n'), 28);
echo $date->format('Y-m-d');
答案 1 :(得分:0)
这个怎么样:
$curDay = date('d');
$curMonth = date('m');
$curYear = date('Y');
$thisMonth = $curYear.'-'.$curMonth.'-28';
if ($curDay > 28) {
echo 'Last 28th was: '.$thisMonth;
}else{
echo 'Last 28th was: '.date('Y-m-d',strtotime('-1 month',strtotime($thisMonth)));
}
对不起,这远远不是一条线 - 如果你使用的是当前的日期,那么可以这样做,但是寻找当月的第28天意味着还有更多工作要做。
答案 2 :(得分:0)
试
$d = '2014-07-29';
if (date('d', strtotime($d)) > 28) {
$diff = date('d', strtotime($d)) - 28;
echo date('Y-m-d', strtotime($d.'-'.$diff.' day')); //2014-07-28 getting 1 day back date
}