Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将日期设置为;“每月第一天”;,如果是';s设置,设置为上个月_Php_Date_Time_Strtotime - Fatal编程技术网

Php 将日期设置为;“每月第一天”;,如果是';s设置,设置为上个月

Php 将日期设置为;“每月第一天”;,如果是';s设置,设置为上个月,php,date,time,strtotime,Php,Date,Time,Strtotime,如果天>1,我想设置本月的第一天(Y-M-01)。 但是如果这一天已经是这个月的第一天,它应该给我“-1个月”。 在未来的时候也应该能发生同样的事情。(+1个月) 我如何在php中管理它 (更新) 让这段代码向后运行,但我不能使用相同的方法向前运行,因为一个月的最后一天可能是28、29、30或31。 应该改为使用月的最后一天,但我不知道如何 if (date("j", strtotime('today', $time)) == 1) { $beginmon = strtotime('fi

如果天>1,我想设置本月的第一天(Y-M-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);
}
听起来很简单

<?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");
}
?>


也许可以让我们看看你迄今为止尝试了什么?谢谢!我已经做了一些类似于代码的事情,尽管它无法继续工作。。更新了我对问题的描述
$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());
}