用户以如下格式创建日期:12/23/2016 22:10
此数据应该发送后转换为另一个时区,例如GMT + 2
:
12/23/2016 00:10
我可以假设我创建的日期应该保存在GTM 0中,只有在我可以更改时区之后。 我怎样才能在Laravel中使用这种机制?
答案 0 :(得分:3)
您可以使用Carbon
将日期的时区更改为:
$date = Carbon\Carbon::parse('12/23/2016 22:10', 'GMT');
要添加+2,您可以这样做:
$date->addHours(2)
答案 1 :(得分:2)
您可以在/config/app.php,
中更改应用程序的时区默认时区为UTC。您可以在此处找到所有支持的时区:http://php.net/manual/en/timezones.php
答案 2 :(得分:0)
大多数情况下,我同意Amit Gupa的回答,但管理时区转换的最佳方法不是通过添加小时数,而是通过在Carbon上转换它:
$yourdate->timezone('somecountrytimezone')
通过这种方式,您不必担心国家/地区之间的不同时间管理(如夏令时),只需设法完成您的工作。
答案 3 :(得分:-2)
这与laravel无关,它只是一个php,所以你可以简单地得到时区偏移(exp GMT + 3)然后这样做:
$ timeZoneOffset --->对于GMT + 3你放(3)
use Carbon\Carbon;
这样你就可以将日期保存在GMT-0
中