Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从GMT时间获取当地时间的偏移小时数-Laravel Carbon_Laravel_Timezone_Php Carbon - Fatal编程技术网

从GMT时间获取当地时间的偏移小时数-Laravel Carbon

从GMT时间获取当地时间的偏移小时数-Laravel Carbon,laravel,timezone,php-carbon,Laravel,Timezone,Php Carbon,我正在开发一个laravel应用程序,它将GMT时间存储在世界各地的数据库中 现在我想让用户在他的本地时区中看到时间,但为此,我必须知道用户的本地时区,而我不知道 我有用户的国家ISO代码,使用DateTimeZone::listIdentifiers方法可以获得时区,但它会返回一些国家的时区数组 那么,有没有一种方法或途径可以获得GMT+00:00和用户本地GMT时间之间的小时偏移量?您需要发出一些请求,将时区从客户端/浏览器传递到服务器,以获得准确的时区 许多国家都有多个时区,俄罗斯、美国等

我正在开发一个laravel应用程序,它将GMT时间存储在世界各地的数据库中

现在我想让用户在他的本地时区中看到时间,但为此,我必须知道用户的本地时区,而我不知道

我有用户的国家ISO代码,使用
DateTimeZone::listIdentifiers
方法可以获得时区,但它会返回一些国家的时区数组


那么,有没有一种方法或途径可以获得GMT+00:00和用户本地GMT时间之间的小时偏移量?

您需要发出一些请求,将时区从客户端/浏览器传递到服务器,以获得准确的时区

许多国家都有多个时区,俄罗斯、美国等等。所以国家代码是不够的

然后,不要使用偏移,使用命名时区,因为由于夏令时,许多时区也有多个偏移。欧洲/巴黎可以是GMT+1或GMT+2,因此现在GMT+0之间的当前偏移量!=给定时间戳的当前偏移量

如果您有时区的准确城市名称,那么在格式化碳日期之前使用它非常简单:

Carbon::createFromTimestamp($utcTimestamp)->tz('America/New_York')