PHP我的时区一周的第一天不正确

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP我的时区一周的第一天不正确脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这里奇怪的问题.

我正在使用Laravel,但我很确定它本身与它无关,我的Carbon日期总是在“星期一”作为一周的第一天返回.问题是,我在一个应该返回“星期天”的地方.

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may sPEcify the default timezone for your application,which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the Box.
|
*/

'timezone' => 'america/Montreal',

创建日期并打印出来:

<?PHP
$date = Carbon::Now();
var_dump($date);

输出

object(Carbon\Carbon)[278]
    public 'date' => string '2016-06-22 06:05:18.000000' (length=26)
    public 'timezone_type' => int 3
    public 'timezone' => string 'America/Montreal' (length=16)

如果我打印一周的第一天

<?PHP VAR_dump($date->getWeekStartsAt());

我明白了

1

奇怪的是,如果我去家园控制台并键入“locale”,我会得到:

LANG=en_US.UTF-8
LANGUAGE=en_US:
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

所以我的认语言环境应该是USA吗?根据GOOGLE的说法,本周美国,加拿大和日本的第一天是星期天…运行“locale First_weekday”收益率:1(星期一)

所以我不确定我应该或可以做些什么来解决这个问题,因为这是完全错误的.我有一个基于机器区域设置绘制的日历,这显然是错误的,因此它向我的客户显示一个不适合他们的区域设置的日历.

谢谢你分享你的想法!

编辑#1

以下是碳问题的链接https://github.com/briannesbitt/Carbon/issues/680

解决方法

getWeekStartsAt()方法返回一个静态属性

PRotected static $weekStartsAt = self::MONDAY;

设置为self :: MONDAY,解析为1.这就是你获得1的原因.

您可以调用setWeekStartsAt($day)来设置一周中正确的开始日期.当然,你需要调用setWeekEndsAt($day).

$date->setWeekStartsAt(0);
$date->setWeekEndsAt(6);
// Or better
$date->setWeekStartsAt(Carbon::SUNDAY);
$date->setWeekEndsAt(Carbon::SATURDAY);

脚本宝典总结

以上是脚本宝典为你收集整理的PHP我的时区一周的第一天不正确全部内容,希望文章能够帮你解决PHP我的时区一周的第一天不正确所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。