我在dayjs中有下面的日期处理,我试图在PHP中复制它,但是失败了。我预计两人都将于2020年7月27日星期一返回。有人能帮忙吗?
JS -2020年7月27日星期一返回
var firstOfMonth = dayjs('2020-08-01'),
weekOneStart = firstOfMonth.clone().day(1); // Monday
console.log(weekOneStart);PHP -返回2020年8月3日星期一
$d = Carbon::createFromFormat('Y-m-d', '2020-08-01');
echo $d->firstOfMonth(1);发布于 2020-12-01 17:48:52
这两个函数是不同的,因为JS函数是一周的第一个星期一,而碳函数是一个月的第一个星期一。您可以在firstOfMonth的碳代码中看到这一点:
public function firstOfMonth($dayOfWeek = null)
{
$this->startOfDay();
if ($dayOfWeek === null) {
return $this->day(1);
}
return $this->modify('first '.static::$days[$dayOfWeek].' of '.$this->format('F').' '.$this->year);
}如果您想要一周中的第一天,那么您需要使用$d->startOfWeek();
$d = Carbon::createFromFormat('Y-m-d', '2020-08-01');
$d->startOfWeek();
// object(Carbon\Carbon)(
// 'date' => '2020-07-27 00:00:00.000000',
// 'timezone_type' => 3,
// 'timezone' => 'America/New_York'
// )https://stackoverflow.com/questions/65095629
复制相似问题