我正在寻找一种方法,将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");
答案 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
。