Foros del Web » Programando para Internet » PHP »

Fecha en español

Estas en el tema de Fecha en español en el foro de PHP en Foros del Web. Buenas, Para generar la fecha en español utilizo la siguiente función @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <? // MUESTRA LA FECHA EN ESPAÑOL function ...
  #1 (permalink)  
Antiguo 14/01/2010, 01:15
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Fecha en español

Buenas,

Para generar la fecha en español utilizo la siguiente función

Código PHP:
Ver original
  1. <?
  2. // MUESTRA LA FECHA EN ESPAÑOL
  3. function actual_date ()
  4. {
  5.     $week_days = array ("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado");
  6.     $months = array ("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
  7.     $year_now = date ("Y");
  8.     $month_now = date ("n");
  9.     $day_now = date ("j");
  10.     $week_day_now = date ("w");
  11.     $date = $week_days[$week_day_now] . ", " . $day_now . " de " . $months[$month_now] . " de " . $year_now;
  12.     return $date;  
  13. }
  14.  
  15. echo actual_date();
  16.  
  17. //Jueves, 14 de Enero de 2010
  18. ?>


Pero he leído que una manera más corta, es haciéndolo así. Sin embargo, no funciona y muestra la fecha incorrecta y en inglés.

Código PHP:
Ver original
  1. <?
  2. setlocale(LC_TIME, 'es_ES');
  3. echo strftime("%A, %d de %B de %Y",strtotime($fecha));
  4.  
  5. //Thursday, 01 de January de 1970
  6. ?>

Os funciona a vosotros?

Muchas gracias
  #2 (permalink)  
Antiguo 14/01/2010, 02:01
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Fecha en español

te falta definir la zona horaria
date_default_timezone_set()
en mi caso lo tengo así:
Código PHP:
date_default_timezone_set("America/Argentina/Buenos_Aires");
setlocale(LC_ALL,"es_ES@euro","es_ES","esp"); 
__________________
no quiero ser un árbol y caminar
Jacinto Piedra
  #3 (permalink)  
Antiguo 14/01/2010, 10:59
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: Fecha en español

hay varias maneras de mostrar la fecha en español. como tu hiciste en tu codigo.

Código PHP:
Ver original
  1. setlocale(LC_TIME, 'es_ES');
  2. echo strftime("%A, %d de %B de %Y",strtotime($fecha));
  3.  
  4. //Thursday, 01 de January de 1970

esta es la manera correcta:

Código PHP:
Ver original
  1. $fecha = $fila_fecha['fecha'];
  2. setlocale(LC_TIME, "Spanish");
  3. echo strftime('%A %d de %B del %Y', strtotime($fecha));

detalles adicionales:

%d - día del mes como un número decimal (rango 01 a 31) .
%e - día del mes como un número decimal, un dígito sencillo es precedido por un espacio (rango ' 1' a '31')

no te ha mostrado la fecha en español porque creo que te faltara un parametro en el setlocale.

P.D. cuando habras las etiquetas php, no utilices "<? ?>". es mejor utilizar las etiquetas "<?php ?>".

saludos.
  #4 (permalink)  
Antiguo 14/01/2010, 13:37
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Fecha en español

Cita:
Iniciado por esaenz22 Ver Mensaje
hay varias maneras de mostrar la fecha en español. como tu hiciste en tu codigo.

Código PHP:
Ver original
  1. setlocale(LC_TIME, 'es_ES');
  2. echo strftime("%A, %d de %B de %Y",strtotime($fecha));
  3.  
  4. //Thursday, 01 de January de 1970

esta es la manera correcta:

Código PHP:
Ver original
  1. $fecha = $fila_fecha['fecha'];
  2. setlocale(LC_TIME, "Spanish");
  3. echo strftime('%A %d de %B del %Y', strtotime($fecha));

detalles adicionales:

%d - día del mes como un número decimal (rango 01 a 31) .
%e - día del mes como un número decimal, un dígito sencillo es precedido por un espacio (rango ' 1' a '31')

no te ha mostrado la fecha en español porque creo que te faltara un parametro en el setlocale.

P.D. cuando habras las etiquetas php, no utilices "<? ?>". es mejor utilizar las etiquetas "<?php ?>".

saludos.
Gracias a los dos, funcionó.

Etiquetas: español, fechas
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 23:03.