由于PHP在intl扩展中使用ICU中的数据,是否有办法从PHP中获取本地化的月份名称?
虽然我可以从ICU的xml文件中获取数据并将其提取到我自己的文件集中,但如果可能的话,我还是更希望使用一种干净且容易的解决方案。
最后,给定intl扩展名的语言环境,是否有办法获取日期格式(MM / DD / YYYY或DD / MM / YYYY)?
不确定需要什么月份名称,但是如果您只想使用几个月的翻译名称,请strftime()根据当前语言环境使用名称(使用%B修饰符)。
如果您想要其他名称的月份名称列表,也可以使用strftime()该名称:
$months = array();
for( $i = 1; $i <= 12; $i++ ) {
$months[ $i ] = strftime( '%B', mktime( 0, 0, 0, $i, 1 ) );
}
Run Code Online (Sandbox Code Playgroud)
对于第二个问题,可能有一个本机函数,但是自己动手并不难:
$currentDate = strftime( '%x', strtotime( '2011-12-13' ) );
$localFormat = str_replace(
array( '13', '12', '2011', '11' ),
array( 'DD', 'MM', 'YYYY', 'YY' ),
$currentDate
);
Run Code Online (Sandbox Code Playgroud)