如何在Laravel中使用时区?

时间:2016-12-23 10:50:37

标签: laravel laravel-5.3

用户以如下格式创建日期:12/23/2016 22:10 此数据应该发送后转换为另一个时区,例如GMT + 2

12/23/2016 00:10

我可以假设我创建的日期应该保存在GTM 0中,只有在我可以更改时区之后。 我怎样才能在Laravel中使用这种机制?

4 个答案:

答案 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')

通过这种方式,您不必担心国家/地区之间的不同时间管理(如夏令时),只需设法完成您的工作。

请参阅文档:http://carbon.nesbot.com/docs/#api-settersfluent

答案 3 :(得分:-2)

这与laravel无关,它只是一个php,所以你可以简单地得到时区偏移(exp GMT + 3)然后这样做:

$ timeZoneOffset --->对于GMT + 3你放(3)

use Carbon\Carbon;

这样你就可以将日期保存在GMT-0