Foros del Web » Programando para Internet » PHP »

Por que el setlocale no convierte la fecha al español?

Estas en el tema de Por que el setlocale no convierte la fecha al español? en el foro de PHP en Foros del Web. Quiero transformar la fecha que ingreso en español, pero siempre lo trae en inglés, éste es un ejemplo: $data = "2015-03-20" ; //Esto es un ...
  #1 (permalink)  
Antiguo 20/03/2015, 14:33
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Información Por que el setlocale no convierte la fecha al español?

Quiero transformar la fecha que ingreso en español, pero siempre lo trae en inglés, éste es un ejemplo:

$data = "2015-03-20" ; //Esto es un ejemplo
$data =strtotime($data);

setlocale(LC_TIME , 'es_ES.UTF-8'); //No me función el idioma de fechas en español ¿Por qué?

$dateS = strtolower(strftime("%A %d %B %Y", $data));// "friday 20 march 2015"

echo $dateS;

Solo imprime "friday 20 march 2015", todo está en inglés ¿Por qué?, hay algún problema con éste código tan simple....?
  #2 (permalink)  
Antiguo 20/03/2015, 14:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Por que el setlocale no convierte la fecha al español?

Cita:
¿Por qué?, hay algún problema con éste código tan simple....?
Me pregunto si ya habrás consultado el manual de setlocale() al respecto, creo que ahí habría una mejor explicación de cómo funciona.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/03/2015, 14:52
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Por que el setlocale no convierte la fecha al español?

Revisa que strftime no tenga alguna restricción en tu sistema operativo.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 20/03/2015, 14:59
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Mensaje Respuesta: Por que el setlocale no convierte la fecha al español?

Cita:
Iniciado por hhs Ver Mensaje
Revisa que strftime no tenga alguna restricción en tu sistema operativo.
Algo así había leído por ahí, es algo que se hace con PHP_OS, tengo esto:

if (PHP_OS == "WIN32" || PHP_OS == "WINNT")
$dateS = strtolower(strftime("%A %#d %B %Y", $data));

pero sigue mostrando la fecha igual, creo que el problema es con el LC_TIME...
  #5 (permalink)  
Antiguo 20/03/2015, 15:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Por que el setlocale no convierte la fecha al español?

¿Por qué nadie lee el manual?

Cita:
Devuelve la nueva configuración regional actual o FALSE si la funcionalidad de configuración regional no está implementada en la plataforma, la configuración regional especificada no existe o el nombre de la categoría no es válido.
Entonces:
Código PHP:
Ver original
  1. var_dump(setlocale(LC_TIME , 'es_ES.UTF-8'));

Fácil, si obtienes false entonces el chiste se cuenta solo.

En mi caso (soy de México) funciona perfecto:
Código PHP:
Ver original
  1. var_dump(setlocale(LC_ALL , 'es_MX.UTF-8')); // string(11) "es_MX.UTF-8"
  2. echo strftime('%A'); // viernes
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: date, español, fecha
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:29.