700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > PHP获取美国东部时间的方法 PHP:如何从时区名称(例如America / New_York)中获取时

PHP获取美国东部时间的方法 PHP:如何从时区名称(例如America / New_York)中获取时

时间:2023-06-06 16:23:24

相关推荐

PHP获取美国东部时间的方法 PHP:如何从时区名称(例如America / New_York)中获取时

是否有PHP函数可以在时区名称(例如在此处找到的名称:/manual/en/timezones.america.php)和“值”(例如东部标准时间或太平洋夏令时间)之间进行转换?

不想在区域之间进行转换,只需给定America / New_York(或其他)名称即可获得EST,PDT等名称. only similar question I found用于另一种语言.

解决方法:

IntlTimeZone::createTimeZone('America/New_York')->getDisplayName()

默认情况下,这将返回CLDR标准英语长格式,在这种情况下为“东部标准时间”.您可以找到其他可用的选项here.例如:

IntlTimeZone::createTimeZone('Europe/Paris')->getDisplayName(true, IntlTimeZone::DISPLAY_LONG, 'fr_FR')

上面将返回“ heureavancéed’Europe centrale”(法语为“中欧夏令时”).

如果DST在所讨论的日期和时间有效,请小心将第一个参数传递为true,否则将其传递为false.以下技术说明了这一点:

$tz = 'America/New_York';

$dt = new DateTime('-01-01 00:00:00', new DateTimeZone($tz));

$dst = $dt->format('I');

$text = IntlTimeZone::createTimeZone($tz)->getDisplayName($dst);

echo($text); // "Eastern Standard Time"

请注意,这些字符串旨在显示给最终用户.如果您打算将它们用于某些编程目的(例如调用另一个API),那么它们就不合适-即使某些字符串的英文版碰巧对齐也是如此.例如,如果您将时区发送到Windows或.NET API或Ruby on Rails API,则这些字符串将不起作用.

标签:php,timezone,datetime

来源: https://codeday.me/bug/1013/1905211.html

PHP获取美国东部时间的方法 PHP:如何从时区名称(例如America / New_York)中获取时区值(例如:东部标准时间)?...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。