在PHP5中查找区域设置日期表示

时间:2009-04-29 14:59:07

标签: php date-formatting

我的网站根据用户设置或浏览器设置(用户未设置其偏好设置)更改其区域设置。我正在使用amline图表,特别是股票图表,这需要'MM / DD / YYYY'或'DD-MM-YYYY'中的日期格式,我想图表知道如何理解日期。有许多方法可以根据计算机区域设置格式化日期,但是我找不到获取区域设置格式的方法(如上所述)。

1 个答案:

答案 0 :(得分:2)

Zend Framework附带一个Zend_Locale类,后者又会访问Unicode Locale Data Markup Language (LDML)中的一堆XML文件。那些包含许多其他东西的本地化日期格式。有关详细信息,请查看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解析器访问这些文件(您可以在unicode.org上的某处找到XML文件。)