Поиск локального представления даты в PHP5

мой сайт меняет свой язык в зависимости от настроек пользователя или настроек браузера (где пользователь не задал свои предпочтения). Я использую диаграммы amline, специально для биржевой диаграммы, для которой требуется формат даты в «MM / DD / YYYY» или «DD-MM-YYYY», я полагаю, что диаграмма знает, как понимать даты. Существует много способов форматирования даты, зависящей от языкового стандарта компьютера, однако я не могу найти способ получить формат локали (как указано выше).

Zend Framework поставляется с классом Zend_Locale который, в свою очередь, обращается к кучке XML-файлов в Unicode Locale Data Markup Language (LDML) . Они содержат среди множества других вещей локализованные форматы дат. Взгляните на Unicode Common Locale Data Repository (CLDR) для получения дополнительной информации.

Например, XML-файл для немецкого языка будет содержать такие вещи, как

 <dateFormats> <dateFormatLength type="full"> <dateFormat> <pattern>EEEE, d. MMMM yyyy</pattern> </dateFormat> </dateFormatLength> <dateFormatLength type="long"> <dateFormat> <pattern>d. MMMM yyyy</pattern> </dateFormat> </dateFormatLength> <dateFormatLength type="medium"> <dateFormat> <pattern>dd.MM.yyyy</pattern> </dateFormat> </dateFormatLength> <dateFormatLength type="short"> <dateFormat> <pattern>dd.MM.yy</pattern> </dateFormat> </dateFormatLength> </dateFormats> 

Теперь я не использовал это сам, но, кратко просматривая его, я бы предположил, что Zend_Locale_Data::getContent() является вашим другом и должен предоставить вам всю необходимую информацию.

Если вы не хотите использовать ZF, вы можете просто получить доступ к этим файлам напрямую с помощью анализатора XML по вашему выбору (вы, вероятно, можете найти файлы XML где-то на unicode.org ).