我正在尝试使用Carbon从Laravel 5.3中的UTC偏移中获取时区名称。下面列出的任何帮助代码将非常感谢。
/* current code iteration */
$utcOffset = -5;
$timezone = Carbon::now($utcOffset)->timezone->getName();
echo $timezone;
// Result: -05:00
// Expected Result: EST
/* tried code */
$timezone = Carbon::now($utcOffset)->tzName;
// Result: -05:00
/* What I used prior to Carbon */
$timezone = timezone_name_from_abbr(null, $utcOffset * 3600, TRUE);
$dateTime = new DateTime();
$dateTime->setTimeZone(new DateTimeZone($timezone));
$timezone = $dateTime->format('T');'
我遗漏了什么?我觉得很傻..。
发布于 2017-04-12 04:09:06
尝试将Carbon更新为no evail,最终使用了旧的datetime类。
$timezone = timezone_name_from_abbr(null, $utcOffset * 3600, TRUE);
$dateTime = new DateTime();
$dateTime->setTimeZone(new DateTimeZone($timezone));
$timezone = $dateTime->format('T');
发布于 2019-05-31 08:34:52
在新的Carbon
中,它是timezoneName
属性;
$now = Carbon::now(-5);
echo $now->timezoneName;
//or
echo $now->timezone->getName();
发布于 2017-04-05 04:55:03
这对我来说很有效:
$now = Carbon::now(-5);
echo $now->timezone;
// prints 'America/Chicago'
https://stackoverflow.com/questions/43217426
复制相似问题