获取本地化月份的列表

F21*_*F21 4 php localization

由于PHP在intl扩展中使用ICU中的数据,是否有办法从PHP中获取本地化的月份名称?

虽然我可以从ICU的xml文件中获取数据并将其提取到我自己的文件集中,但如果可能的话,我还是更希望使用一种干净且容易的解决方案。

最后,给定intl扩展名的语言环境,是否有办法获取日期格式(MM / DD / YYYY或DD / MM / YYYY)?

JJJ*_*JJJ 5

不确定需要什么月份名称,但是如果您只想使用几个月的翻译名称,请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)