日期/ strftime格式与语言字符串| PHP

时间:2011-04-19 11:23:33

标签: php parsing date localization strftime

我需要一个解析日期字符串但用不同语言的语言字符串替换的解决方案,例如

英语

$lang['day']['monday'] = 'Monday';
$lang['day']['tuesday'] = 'Tuesday';
$lang['day']['wednesday'] = 'Wednesday';
// and so on...

$lang['month']['january'] = 'January';
$lang['month']['february'] = 'February';
$lang['month']['april'] = 'April';
// and so on...

我需要通过日期/ strftime函数传递语言字符串,但不仅会传递英语,还会传递其他语言(当它们被选中时)。因此,如果选择了其他语言,语言字符串将更改为所选语言。例如,法语:

$lang['day']['monday'] = 'Lundi';
$lang['day']['tuesday'] = 'Mardi';
$lang['day']['wednesday'] = 'Mercredi';
// and so on...

$lang['month']['january'] = 'Janvier';
$lang['month']['february'] = 'Février';
$lang['month']['april'] = 'Avril';

所以当使用这样的格式时:date('l dS F Y - g:iA')它应该解析如下:

Mardi 11th Avril 2011 - 12:22PM 

我没有使用setlocale,因为我有自定义语言字符串,所以我需要非常与使用setlocale和解析不同的东西选择语言字符串。

2 个答案:

答案 0 :(得分:1)

您是否可以对使用英语到其他语言映射返回的字符串使用str_replace()

答案 1 :(得分:1)

Zend使用带有Zend_Date类的语言xml文件。这是您遇到的问题的一个很好的解决方案。另一种选择是自己动手。