elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP Cambiar idioma de fecha
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PHP Cambiar idioma de fecha  (Leído 3,593 veces)
tomasvreal28

Desconectado Desconectado

Mensajes: 12


Ver Perfil
PHP Cambiar idioma de fecha
« en: 6 Diciembre 2015, 23:31 pm »

Hola a todos
Espero que me puedan ayudar
Tengo un campo en la bd Fecha que esta en cadena y le convertido como Fecha

Pero a la hora de Listarlo
Como yo quiero es por ejemplo Diciembre del 2015
Me sale en ingles December del 2015

Estoy tratando de hacerlo con un array pero no me funciona



Código
  1. <?php
  2.  
  3. date_default_timezone_set('America/Lima');
  4.  
  5. $calendario_meses = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",
  6. 7=>"Julio",8=>"Agosto",9=>"Septiembre",10=>"Octubre",
  7. 11=>"Noviembre",12=>"Diciembre");
  8.  
  9. ?>
  10.  
  11. // Esta es la manera como extraigo de la BD
  12.  
  13. <?php
  14.    $data = explode('-', $res['icr_fecha_revision2']);
  15.    echo date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1])); ?>  
  16. </td>
  17.  


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: PHP Cambiar idioma de fecha
« Respuesta #1 en: 6 Diciembre 2015, 23:57 pm »

Citar
Estoy tratando de hacerlo con un array pero no me funciona

No veo que hagas nada con ese array  :-\

Hay varias formas pero depende de si el SO del servidor lo soporta. Una forma es simplemente decirle a PHP que use el locale español.

Esto seria:

Código
  1. date_default_timezone_set('America/Lima');
  2. setlocale(LC_ALL,'es_ES');
  3.  
  4. $data = explode('-', $res['icr_fecha_revision2']);
  5. $fecha = strftime('%B del %Y', strtotime($data[0] . '-' . $data[1]));
  6.  
  7. echo $fecha;
  8. // Diciembre del 2015

Pero puede que el SO donde se va alojar el script no soporte ese idioma. En tal caso no te queda mas remedio que cambiar los meses a español por tu cuenta.

que seria algo así:

Código
  1. date_default_timezone_set('America/Lima');
  2.  
  3. $calendario_meses = array(
  4.    'January'=>'Enero',
  5.    'Febuary'=>'Febrero',
  6.    'March'=>'Marzo',
  7.    'April'=>'Abril',
  8.    'May'=>'Mayo',
  9.    'June'=>'Junio',
  10.    'July'=>'Julio',
  11.    'August'=>'Agosto',
  12.    'September'=>'Septiembre',
  13.    'October'=>'Octubre',
  14.    'November'=>'Noviembre',
  15.    'December'=>'Diciembre'
  16. );
  17.  
  18.  
  19. $data = explode('-', $res['icr_fecha_revision2']);
  20. $fecha = date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1]));
  21. $fecha = strtr($fecha, $calendario_meses);
  22.  
  23. echo $fecha;
  24. // Diciembre del 2015

Ahí simplemente estarías reemplazando los meses en ingles por español. Ten cuidado, no uses los dos a la vez pues si de repente php devuelve los meses en español y tu aun así los reemplazas, "Mayo" por ejemplo se convertiría en "Mayoo".

Saludos


En línea

tomasvreal28

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: PHP Cambiar idioma de fecha
« Respuesta #2 en: 8 Diciembre 2015, 01:21 am »

Amigo con el array funciona perfecto
pero una cuando tengo el campo vacio en la BD

este me devuelve con fecha de diciembre del 1969
cuando debería aparecerme en blanco como puedo hacer que solo aparezca los que tienen fechas y los que están con campos vacíos en blanco






No veo que hagas nada con ese array  :-\

Hay varias formas pero depende de si el SO del servidor lo soporta. Una forma es simplemente decirle a PHP que use el locale español.

Esto seria:

Código
  1. date_default_timezone_set('America/Lima');
  2. setlocale(LC_ALL,'es_ES');
  3.  
  4. $data = explode('-', $res['icr_fecha_revision2']);
  5. $fecha = strftime('%B del %Y', strtotime($data[0] . '-' . $data[1]));
  6.  
  7. echo $fecha;
  8. // Diciembre del 2015

Pero puede que el SO donde se va alojar el script no soporte ese idioma. En tal caso no te queda mas remedio que cambiar los meses a español por tu cuenta.

que seria algo así:

Código
  1. date_default_timezone_set('America/Lima');
  2.  
  3. $calendario_meses = array(
  4.    'January'=>'Enero',
  5.    'Febuary'=>'Febrero',
  6.    'March'=>'Marzo',
  7.    'April'=>'Abril',
  8.    'May'=>'Mayo',
  9.    'June'=>'Junio',
  10.    'July'=>'Julio',
  11.    'August'=>'Agosto',
  12.    'September'=>'Septiembre',
  13.    'October'=>'Octubre',
  14.    'November'=>'Noviembre',
  15.    'December'=>'Diciembre'
  16. );
  17.  
  18.  
  19. $data = explode('-', $res['icr_fecha_revision2']);
  20. $fecha = date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1]));
  21. $fecha = strtr($fecha, $calendario_meses);
  22.  
  23. echo $fecha;
  24. // Diciembre del 2015

Ahí simplemente estarías reemplazando los meses en ingles por español. Ten cuidado, no uses los dos a la vez pues si de repente php devuelve los meses en español y tu aun así los reemplazas, "Mayo" por ejemplo se convertiría en "Mayoo".

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cambiar idioma.
Nivel Web
PHAMTOM 2 3,106 Último mensaje 17 Agosto 2010, 10:00 am
por tragantras
cambiar la fecha del sistema tomando la fecha desde un archivo texto?
Scripting
.:UND3R:. 5 12,844 Último mensaje 9 Septiembre 2011, 21:26 pm
por leogtz
Cambiar el idioma
.NET (C#, VB.NET, ASP)
bitaziko 0 4,200 Último mensaje 3 Octubre 2011, 13:31 pm
por bitaziko
Cambiar idioma en QT
Programación C/C++
kur79 0 2,677 Último mensaje 17 Noviembre 2015, 21:44 pm
por kur79
Cambiar idioma de un toast
Programación General
rubcr 2 3,152 Último mensaje 22 Enero 2021, 17:35 pm
por rubcr
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines