以来自欧洲/巴黎(+02:00)的人为例。
我想建立一个函数,在这里我传递一个日期和时间字符串('2016-10-6 06:00 PM')和我的时区标识符('Europe/Paris')。我想返回相应的GMT时间戳。
getTimestamp('2016-10-6 06:00 PM', 'Europe/Paris')
到目前为止我写的是:
public function getTimestamp($string, $time_zone)
{
$c = Carbon::parse($string);
$c->timezone = new DateTimeZone($time_zone);
return $c->timestamp;
}
如果传递日期和时间为2016-10-06 06:00 PM
,时区为Europe/Paris
,则返回的UTC时间戳对应于2016-10-06 06:00 PM GMT。
它应该返回格林尼治时间04:00,因为欧洲/巴黎比它早两个小时。
如何传递日期和时区并返回具有正确偏移量的GMT时间戳
解析函数允许您传入时区
public static function parse($time = null, $tz = null)
所以直接传入:
$c = Carbon::parse($string, $time_zone);