Tengo esta consulta de MySQL, que devuelve dos fechas (que están formateadas como a-m-Y). Ahora quiero traducir esta fecha a mi propio idioma (danés). Cómo puedo hacer eso. He intentado las funciones setlocale() y strftime(), pero no funcionará. Sé que es una pregunta muy básica, pero realmente necesito ayuda :) ¡Muchas gracias!Cambiar el idioma para la fecha en php
Respuesta
No creo que la función date()
haya evolucionado lo suficiente para usted, aquí.
En su lugar, le recomiendo que eche un vistazo a la clase IntlDateFormatter
(citando):
Fecha formateador es una clase concreta que permite dependiente de la localización formatear/análisis de fechas usando cadenas de patrones y/o patrones enlatados .
Hay un par de ejemplos en la página del manual de IntlDateFormatter::format()
, donde se utiliza este método para mostrar una fecha en dos idiomas diferentes, con sólo ajustar el entorno local deseado.
1. incorporada con PHP> = 5,3
Uso setlocale
y strftime
juntos:
setlocale(LC_TIME, array('da_DA.UTF-8','[email protected]','da_DA','danish'));
echo strftime("%A"); // outputs 'tirsdag'
funciona en mi instalación de PHP en Windows.
Uso
http://php.net/manual/en/function.strftime.php
<?php
setlocale(LC_ALL, 'da_DA');
echo strftime("%A %e %B %Y");
?>
Si usted está tratando de convertir un datetime
intente esto:
$fecha = $dateConsulta->format('d-M-Y');
$fecha = str_replace('Jan','Ene',$fecha);
$fecha = str_replace('Apr','Abr',$fecha);
$fecha = str_replace('Aug','Ago',$fecha);
$fecha = str_replace('Dec','Dic',$fecha);
me encontré con que setlocale
no es fiable, ya que se encuentra por proceso , no por hilo (el manual menciona esto). Esto significa que otras secuencias de comandos en ejecución pueden cambiar la configuración regional en cualquier momento. Una solución es usar IntlDateFormatter desde la extensión intl
de php.
Instalar
intl
si necesarry (ubuntu):sudo apt-get install php5-intl
Instalar la configuración regional que desea utilizar (estoy usando italiano como ejemplo):
sudo locale-gen it_IT
generar una fecha formateada localmente :
$fmt = new \IntlDateFormatter('it_IT', NULL, NULL);
$fmt->setPattern('d MMMM yyyy HH:mm');
// See: http://userguide.icu-project.org/formatparse/datetime for pattern syntax
echo $fmt->format(new \DateTime());
// Output: 6 gennaio 2016 12:10
- 1. Cambiar el idioma del selector de fecha
- 2. cambiar el formato de fecha en php
- 3. Ajax cambiar el idioma
- 4. Cambiar idioma en C#
- 5. Cambiar la configuración de idioma (configuración regional) para el dispositivo
- 6. Cambiar la fecha y hora actual en php
- 7. Cambiar el idioma predeterminado en Liferay
- 8. ¿Cómo cambiar el idioma y el formato de fecha en SQL Server?
- 9. PHP Fecha en el formato de fecha iCal para DTSTART
- 10. Cambiar el idioma de la aplicación iOS sobre la marcha
- 11. ¿Cómo cambiar el idioma de mi git?
- 12. Cambiar el idioma/lugar de Postgres pgadmin?
- 13. Drupal: cómo cambiar el idioma actual de la taxonomía
- 14. PHP detección de idioma
- 15. cambiar la configuración regional de la fecha
- 16. cómo cambiar la hora actual para las funciones de fecha de prueba unitaria en php
- 17. Cómo cambiar el idioma predeterminado de la interfaz Hudson
- 18. PHP Cuenta atrás para la fecha
- 19. Cambiar el idioma en el que Geocoder.geocode() devuelve resultados
- 20. Cambiar el idioma de descripción predeterminado de la aplicación
- 21. Cambiar el idioma de la aplicación mediante programación
- 22. Comprobando el idioma del navegador por PHP?
- 23. ¿Cómo cambiar el idioma de ayuda en SVN en Windows?
- 24. UIDatePicker: al cambiar la fecha
- 25. Cambiar formato de fecha en la vista para DD AAAA
- 26. Cambiar la fecha y hora en MusicSequence
- 27. detectar el idioma del usuario en PHP - solución estable
- 28. cambiar el formato de fecha en JSF
- 29. php compruebe la fecha es el sábado
- 30. Cambiar el idioma de NSLocalizedString() en tiempo de ejecución
Tha Parece un poco complejo: D Bien, lo echaré un vistazo. No entiendo que puede ser tan difícil simplemente cambiar el idioma :) – Emil
Bueno, debes tener "algo" que pueda generar la cadena en el idioma correcto, lo que significa conocer las palabras, su orden, ... . y esa no es una tarea fácil. –