繁体   English   中英

如何在 Laravel 中输出保存的时区速记(GMT、UTC、EST 等)

[英]How can I output saved timezone shorthand (GMT, UTC, EST etc) in Laravel

所以,基本上我有一个客户希望根据为事件选择的时区显示他的事件的时区,例如

日期:2020 年 4 月 20 日

地点:加拿大,安大略

时间:晚上7:00

时区:美国/东部

显示为: 7 : 00pm (GMT) - > 这应该相当于所选时区的速记,例如 (EST) 等等 - 而不是UTC 等价物 (UTC-06:00)

我让他使用https://github.com/camroncade/timezone选择时区

它使用时区的字符串表示(美国/东部)

我的数据库中有这些字段,用于在创建时从我的客户接收输入:

    $table->date('eventdate');
    $table->time('eventdaystarttime');
    $table->time('eventdayendtime');
    $table->string('eventtimezone');

我的问题是如何获取我的客户在创建事件(美国/东部)时选择的时区(eventtimezone)的速记,并在我的blade.view 文件中输出时将其显示为这个晚上 7:00(格林威治标准时间)

您可以像这样使用 php 获取时区缩写/速记

$date = new DateTime('April 20, 2020');
$date->setTimeZone(new DateTimeZone('US/Eastern'));
echo $date->format('T');

如果您保存以下链接中列出的受支持时区,您可以轻松地使用碳来获取它们,因为美国/东部不使用碳。

$tz = CarbonTimeZone::create('America/New_York');
echo $tz->getAbbr();

美国时区

https://www.php.net/manual/en/timezones.america.php

你可以在这里找到世界其他地方

https://www.php.net/manual/en/timezones.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM