首页 > 解决方案 > 获取每月的第一天,输出错误的第一天

问题描述

我想以“星期几”格式显示每月的第一天。例如,下面的代码应该选择 8 月,并说 01 周的哪一天是星期四,但是由于某种原因,下面的代码输出了错误的星期五,在某些月份,例如五月,它正确地显示为星期三.

$monthNumber = 3;
$base = strtotime(date('Y-m',time()) . '-01 00:00:01');
$dateTest = date("Ym" . 1, strtotime($monthNumber . " month", $base));
$unixTimestamp = strtotime($dateTest, $base);
echo date("l", $unixTimestamp);

有没有人有任何想法让它显示正确的日期?

$base 修复了一个错误,它没有显示正确的月份。

标签: phpdatestrtotime

解决方案


为什么不使用 dateTime?

echo (new \DateTime('first day of august 2019'))->format('l');

阅读有关相对格式的更多信息。


推荐阅读