Foros del Web » Programando para Internet » PHP »

ayuda sobre cambiar fechas al castellano (especialmente dias)

Estas en el tema de ayuda sobre cambiar fechas al castellano (especialmente dias) en el foro de PHP en Foros del Web. Buenas Les escribo ya que tengo un problema. Tengo un menú donde me muestra los dias del mes pero, me los muestra con numeros para ...
  #1 (permalink)  
Antiguo 29/12/2007, 17:32
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago (Chile)
Mensajes: 29
Antigüedad: 17 años, 8 meses
Puntos: 0
ayuda sobre cambiar fechas al castellano (especialmente dias)

Buenas

Les escribo ya que tengo un problema. Tengo un menú donde me muestra los dias del mes pero, me los muestra con numeros para los dias de semana (0-6) y con respecto a los dias del mes no tengo problemas.

¿como hago para que los numeros del 0 al 6 me los transforme de lunes a domingo?

A todo esto, los dias los saco de una base de datos.

Código PHP:
function dias_act($mes)
{
$tabla "SELECT id, fecha, COUNT(fecha) AS total, ";
$tabla.= "DATE_FORMAT(fecha,'%w %d') AS fecha2 ";
$tabla.= "FROM articulo WHERE mes='$mes' GROUP BY fecha ORDER BY fecha DESC";
$res mysql_query($tabla);
while (
$row3c mysql_fetch_assoc($res))
    {
echo 
'<a href="sec_act.php?id='.$row3c['id'].'" class="parrafo"><li>'.$row3c['fecha2'].'&nbsp;<sup>(<acronym title="noticia(s)">'.$row3c['total'].'</acronym>)</sup></li></a>';
    }


Última edición por guachacapepe; 29/12/2007 a las 22:04
  #2 (permalink)  
Antiguo 29/12/2007, 17:48
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

Creo que el comodín para el día de la semana como nombre es el %l o el abreviado %D (creo).

Pero ojo, siempre es en inglés.

Si lo quieres personalizar, entonces has un array con los días de la semana en tu idioma:
Código PHP:
 
$dia
[0] = "Domingo";
$dia[1] = "Lunes";
$dia[2] = "Martes";
$dia[3] = "Miércoles";
$dia[4] = "Jueves";
$dia[5] = "Viernes";
$dia[6] = "Sábado"
Luego sigues usando el comodín $w en DATE_FORMAT en la sentencia SQL para que te tire el número de día de la semana y luego sólo usas el array para que te de el nombre.


Por ejemplo:
Código PHP:
echo $dia[$row["fecha_dia"]]; 
Así, si sigues usando "DATE_FORMAT(fecha,'%w %d') AS fecha2", sólo deberás cortar la cadena en dos, la primera parte sabes que es el número de la semana, el segundo el día del mes.

Código PHP:
$fecharow explode(" ";$row['fecha2']); 
Y luego usas el array:

Código PHP:
echo $dia[$fecharow[0]]; 


Es solo una idea.
Saludos

Última edición por usermax; 29/12/2007 a las 17:53
  #3 (permalink)  
Antiguo 29/12/2007, 17:50
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

pues no se si haya forma desde mysql, pero desde php puedes usar un arreglo asociativo
$dias=array(0->'Domingo',1->'Lunes'....);
y despues solo capturas el dia en numero y se lo aplicas al array
ejemplo, suponiendo que me devuelve 0
$dia=0;
echo $dias[$dia], esto me dará como resultado Domingo.
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 29/12/2007, 17:52
Avatar de actibands  
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

Hola

Tambien puedes hacer un switch tipo esto :

switch ($dia) {
case '0': $dia="Lunes"; break;
case '1': $dia="Martes"; break;
case '2': $dia="Miércoles"; break;
case '3': $dia="Jueves"; break;
case '4': $dia="Viernes"; break;
case '5': $dia="Sabado"; break;
case '6': $dia="Domingo"; break; }

Espero que te sirva
  #5 (permalink)  
Antiguo 29/12/2007, 18:33
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago (Chile)
Mensajes: 29
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

Muchas gracias por las recomandaciones.

Disculpen por mi ignorancia pero, lo que yo no se hacer es mezclar los arrays con la consulta. No tengo idea donde se coloca el switch. Eso si que me funciono con la doble v mayuscula "W", ahora me muestar los dias pero en ingles.
  #6 (permalink)  
Antiguo 29/12/2007, 18:39
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago (Chile)
Mensajes: 29
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

Muchas gracias por las recomandaciones.

Disculpen por mi ignorancia pero, lo que yo no se hacer es mezclar los arrays con la consulta. No tengo idea donde se coloca el switch. Eso si que me funciono con la doble v mayuscula "W", ahora me muestar los dias pero en ingles.

(aunque es de borracho la cara, la pongo como verguenza)
  #7 (permalink)  
Antiguo 29/12/2007, 18:46
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

Fijate en http://www.forosdelweb.com/f18/sobre-las-fechas-531023/ un caso similar
  #8 (permalink)  
Antiguo 29/12/2007, 20:02
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago (Chile)
Mensajes: 29
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: ayuda sobre cambiar fechas al castellano (especialmente dias)

Cita:
Iniciado por eits Ver Mensaje
pues no se si haya forma desde mysql, pero desde php puedes usar un arreglo asociativo
$dias=array(0->'Domingo',1->'Lunes'....);
y despues solo capturas el dia en numero y se lo aplicas al array
ejemplo, suponiendo que me devuelve 0
$dia=0;
echo $dias[$dia], esto me dará como resultado Domingo.
saludos

Muy agradecido señor "eits", utilice el suyo y me resulto. Gracias.

Y a todos los que aportaron, muchas gracias.

Última edición por guachacapepe; 29/12/2007 a las 20:08
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 12:39.