PHP - 2022中的获取区域设置日期

tuwxkamq  于 2023-10-15  发布在  PHP
关注(0)|答案(2)|浏览(112)

我应该如何获得日期和月份(即FridayAugust)与相应的区域设置(即de_DE)在PHP?
大多数示例使用setlocale()strftime(),最后一个在PHP 8.1.0中被弃用。

ki1q1bka

ki1q1bka1#

您对strftime()被弃用的看法是正确的,date()(作为DateTimeInterface的一部分)将无法与setlocale()一起使用。有一件事可以用它来做,那就是IntlDateFormatter

$fmt = new IntlDateFormatter('de_DE',
    IntlDateFormatter::FULL, 
    IntlDateFormatter::FULL
);

echo $fmt->format(time());

将输出:
27岁的萨姆斯塔格2022年8月00日00:58:15 GMT
您可以使用预定义常量来为DateType和TimeType指定不同的格式。我以Full为例。点击此处了解更多信息。
您也可以更改Pattern

$fmt->setPattern('yyyymmdd hh:mm:ss z');
echo $fmt->format(time());

输出(例如):
20220427 01:04:51 GMT

y4ekin9u

y4ekin9u2#

我更喜欢使用本地的DateTime类,例如

$copenhagen_timezone = new DateTimeZone('Europe/Copenhagen');
$today = new DateTime('now', $copenhagen_timezone);

所以事后计算时差很容易

相关问题