0

如果 day > 1,我想设置本月的第一天(YM-01)。但如果这一天已经是本月的第一天,它应该给我“-1 月”。前进时应该能够发生同样的情况。(+1 个月)

我如何在php中管理这个?

(更新)让这段代码向后工作,但我不能使用相同的方法向前移动,因为本月的最后一天可能是 28、29、30 或 31。应该使用本月的最后一天,但我没有不知道怎么办。。

if (date("j", strtotime('today', $time)) == 1) {
    $beginmon = strtotime('first day of last month', $time);
} else {
    $beginmon = strtotime('first day of this month', $time);
}
4

2 回答 2

2

听起来很简单

<?php

if(date("j")>1)
{
echo date("Y-m-01");
}
else
{
echo date("Y-m-d",strtotime("-1 month"));
}

?>

编辑

可以为您的环境修改为

<?php
if(date("j")==1)
{
$beginmon = strtotime(date("Y-m-01"));
}
else
{
$beginmon=strtotime("-1 month");
}
?>
于 2013-05-21T10:28:02.107 回答
0
$date = strtotime('first day of this month', time());
if (date("Y M dd", $date) == date("Y M dd", time())){
     $date = strtotime('first day of last month', time());
}
于 2013-05-21T10:41:09.720 回答