PHP如何获取当前月份的第一天
PHP获取当前月份第一天的实现方案
PHP内置的时间处理函数已经原生支持直接获取当月第一天,无需手动计算月份天数,可同时返回日期和对应的星期信息,两种常用实现方式如下:
1. 基础函数组合实现(date + strtotime)
适合简单场景,代码量少:
// 获取当月第一天的标准日期格式 $firstDayDate = date('Y-m-d', strtotime('first day of this month')); // 获取当月第一天对应的英文星期全称 $weekDayEn = date('l', strtotime('first day of this month')); // 中文星期转换示例 $weekMap = ['日','一','二','三','四','五','六']; $weekDayCn = '星期' . $weekMap[date('w', strtotime('first day of this month'))];
示例输出(2024年9月运行):
- $firstDayDate:
2024-09-01 - $weekDayCn:
星期三
2. DateTime类实现(推荐)
PHP 5.2及以上版本支持,面向对象写法更易维护,边界处理更严谨:
$date = new DateTime('first day of this month'); $firstDayDate = $date->format('Y-m-d'); $weekDayEn = $date->format('l'); // 中文星期转换 $weekMap = ['日','一','二','三','四','五','六']; $weekDayCn = '星期' . $weekMap[$date->format('w')];
常用参数说明
first day of this month是PHP原生支持的自然时间语义,会自动处理大小月、闰年、跨月等异常场景- 格式化参数说明:
Y:四位公历年份m:两位月份(01-12)d:两位日期(01-31)l:英文星期全称(如Wednesday)w:数字星期标识(0代表周日,6代表周六)
如果需要获取指定年月的第一天,只需将this month替换为对应年月即可,例如first day of October 2024即可获取2024年10月的第一天信息。
内容的提问来源于stack exchange,提问作者hexagon soft
相关产品推荐
相关产品推荐

