在PHP中获取上个月的最后一天和下个月的第一天
例如,如果我有: ‘2020-01-01’ 我想要两次约会: -上个月的最后一天: “2019-12-31” -下个月的第一天: ‘2020-02-01’ 我试着用echo dateY-n-31,Strotime'2020-01-01'之类的东西;但我不知道 谢谢。使用以下代码:在PHP中获取上个月的最后一天和下个月的第一天,php,date,datetime,Php,Date,Datetime,例如,如果我有: ‘2020-01-01’ 我想要两次约会: -上个月的最后一天: “2019-12-31” -下个月的第一天: ‘2020-02-01’ 我试着用echo dateY-n-31,Strotime'2020-01-01'之类的东西;但我不知道 谢谢。使用以下代码: <?php $month_end = new DateTime("last day of last month"); $month_ini = new DateTime("first day of next m
<?php
$month_end = new DateTime("last day of last month");
$month_ini = new DateTime("first day of next month");
echo $month_end->format('Y-m-d'); // will print, Last day of last month
echo $month_ini->format('Y-m-d'); // will print First day of next month
?>
尝试此方法,使用strotime添加月份或减去月份
$date='2020-01-01';
echo date("Y-m-t", strtotime('-1 month'.$date)); //2019-12-31
echo date("Y-m-01", strtotime('+1 month'.$date)); //2020-02-01
strotime
此php函数用于将英文文本日期时间描述转换为UNIX时间戳
第一步将文本日期时间转换为时间戳
现在您有了时间戳,然后使用date函数
-上个月的最后一天:
-下个月的第一天:
您可以使用DateTime的方法modify来实现相对日期:
<?php
$dateOld = new \DateTimeImmutable('2020-01-01');
echo $dateOld->modify("last day of last month")->format('Y-m-d');
echo PHP_EOL;
echo $dateOld->modify("first day of next month")->format('Y-m-d');
请在此处尝试:这很好,但您会如何处理特定日期?@vivek_23可与echo date'Y-m-d',strotime'上个月的最后一天',strotime'2019-12-01'一起使用;echo PHP_EOL;回音日期“Y-m-d”,标准时间“下个月第一天”,标准时间“2019-12-01”;在这个例子中:2019-12-01是我的当前月份。我知道。我更想知道datetime。我们可以在DateInterval类中获得一些运气。@vivek_23回答更新为datetime和自定义日期:很高兴使用t格式字符进行日期格式设置。有人知道如何使用DateTime对象吗?
$date='2020-01-01';
echo date("Y-m-d", 'last day of previous month', strtotime($date)));
echo date("Y-m-d", 'first day of next month', strtotime($date)));
echo date("Y-m-d", strtotime("Last day of last month"));
echo date("Y-m-d", strtotime("First day of next month"));
<?php
$dateOld = new \DateTimeImmutable('2020-01-01');
echo $dateOld->modify("last day of last month")->format('Y-m-d');
echo PHP_EOL;
echo $dateOld->modify("first day of next month")->format('Y-m-d');