formato fecha español date_format actual php date localization

fecha - strftime php español



Fecha de PHP() en idiomas extranjeros, p. Ej., 25 de marzo Aoû 09 (4)

Tengo un script que necesita mostrar datos de fecha a una audiencia internacional, por ejemplo,

"presentado el martes 25 de agosto de 2009"

¿Existe una forma más fácil / limpia de convertir esto al equivalente en francés (etc.) "Mar 25 Aoû 09" que:

Configuración de una constante LANG y una matriz $LANGUAGES de archivos de inclusión y:

if(LANG != ''EN'') { include $LANGUAGES[''LANG'']; }

¿Y luego el archivo incluido asigna los días y meses y reemplaza a la configuración regional apropiada?

Gracias

David


Creo que es la mejor manera de hacerlo con las funciones strftime y setlocale . Pero no funcionará si su servidor no tiene instalada la configuración regional necesaria (en las preguntas actuales es fr_FR ).

El código de abajo lanza una excepción si el cambio de configuración regional no será exitoso

<?php $result = setlocale(LC_ALL, ''fr_FR''); if($result === false){ throw new /RuntimeException( ''Got error changing locale, check if locale is installed on the system'' ); } $dayOfMonth = ''%e''; //if it is Windows we will use %#d as %e is not supported if (strtoupper(substr(PHP_OS, 0, 3)) === ''WIN'') { $dayOfMonth = ''%#d''; } //Mar 25 Aoû 09 - month shortname, day of month, day shortname, year last two digits echo strftime("%b $dayOfMonth %a %y");



De acuerdo con la página del manual de la función de date , debe usar setlocale . Métodos como strftime usarán la configuración regional especificada. Sin embargo, la date no será por alguna razón.


También es posible que desee echar un vistazo a Zend_Date .