You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何获取下个月的第X天?含strtotime()使用问题

如何用strtotime()获取下个月的第4天?

你遇到的问题确实是strtotime的日期解析优先级导致的:'first day of next month'属于锚点式相对日期格式,优先级高于后续的'+4 days'偏移指令,解析器会先定位到下个月第一天,直接忽略了后面的天数偏移。

下面是几种可行的解决方案:

方案1:直接指定下个月第4天(最直观)

用'4th day of next month'直接让strtotime定位到目标日期:

$fourthDayNextMonth = strtotime('4th day of next month');
echo date('Y-m-d', $fourthDayNextMonth);

方案2:拆分两步解析(避免优先级冲突)

先获取下个月第一天,再基于这个时间点添加3天(1号加3天即为4号):

$firstDay = strtotime('first day of next month');
$fourthDay = strtotime('+3 days', $firstDay);
echo date('Y-m-d', $fourthDay);

方案3:使用DateTime类(更健壮,推荐)

DateTime类的日期操作逻辑更清晰,也更容易维护:

// 链式调用写法
$date = (new DateTime())->modify('first day of next month')->modify('+3 days');
echo $date->format('Y-m-d');

// 分步写法
$date = new DateTime();
$date->modify('first day of next month');
$date->add(new DateInterval('P3D')); // P3D代表3天的时间间隔
echo $date->format('Y-m-d');

内容的提问来源于stack exchange,提问作者Isuru Nuwanthilaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:55:18