PHP格式日期dd / mm / yy或mm / dd / yy基于区域设置

时间:2017-11-11 19:22:30

标签: php

我正在寻找一种方法,将2017-11-11的日期格式切换为以下格式:

dd / mm / yy或mm / dd / yy基于区域设置。

我已经在使用IntlDateFormatter,但问题出在这里,当我想要一年如下:2017我需要使用IntlDateFormatter :: MEDIUM,它将输出:

Jan 12, 1952

IntlDateFormatter :: SHORT将输出:

12/13/52

它基于语言环境似乎没有办法,我希望有一些方法可以在PHP中实现这一点,而不是在前端。

我在这里使用的是什么,而不是:

date_format($date,"Y/m/d");

1 个答案:

答案 0 :(得分:1)

尝试使用它:

$dateFormatter = IntlDateFormatter::create(
    "en_US", //locale
    IntlDateFormatter::FULL, //datetype
    IntlDateFormatter::FULL, //timetype
    'America/Los_Angeles', //timezone
    IntlDateFormatter::GREGORIAN, //calendar
    "MM/dd/yyyy" //pattern
);

echo $dateFormatter->format(new DateTime('2017-01-12'));

如果不指定模式,它将使用IntlDateFormatter::FULL

时区,日历和模式是可选的。看看documentation。 日历的默认值为NULL,对应IntlDateFormatter::GREGORIAN