首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel 5.3 - Carbon Date - UTC偏移量获取时区名称

Laravel 5.3 - Carbon Date - UTC偏移量获取时区名称
EN

Stack Overflow用户
提问于 2017-04-05 04:48:50
回答 3查看 14.6K关注 0票数 4

我正在尝试使用Carbon从Laravel 5.3中的UTC偏移中获取时区名称。下面列出的任何帮助代码将非常感谢。

代码语言:javascript
复制
/* 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');'

我遗漏了什么?我觉得很傻..。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-12 04:09:06

尝试将Carbon更新为no evail,最终使用了旧的datetime类。

代码语言:javascript
复制
$timezone = timezone_name_from_abbr(null, $utcOffset * 3600, TRUE);
$dateTime = new DateTime();
$dateTime->setTimeZone(new DateTimeZone($timezone));
$timezone = $dateTime->format('T');
票数 4
EN

Stack Overflow用户

发布于 2019-05-31 08:34:52

在新的Carbon中,它是timezoneName属性;

代码语言:javascript
复制
$now = Carbon::now(-5);
echo $now->timezoneName;
//or 
echo $now->timezone->getName();
票数 1
EN

Stack Overflow用户

发布于 2017-04-05 04:55:03

这对我来说很有效:

代码语言:javascript
复制
$now = Carbon::now(-5);

echo $now->timezone;
// prints 'America/Chicago'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43217426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档