Foros del Web » Programando para Internet » PHP »

dia de la semana

Estas en el tema de dia de la semana en el foro de PHP en Foros del Web. segun una fecha formato aaaa - mm - dd como puedo saber que dia de la semana corresponde (me refiero a lunes, martes etc) ya ...
  #1 (permalink)  
Antiguo 06/01/2003, 10:31
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 15 años, 5 meses
Puntos: 0
dia de la semana

segun una fecha formato aaaa - mm - dd como puedo saber que dia de la semana corresponde (me refiero a lunes, martes etc)
ya que solo lo se hacer con un query pero quiero saber si existe alguna funcion, ya que he probado muchas y no me han dado resultado
__________________
Atte
Real BHONOX

Programador Cervecero! :borracho:
Lenguajes vengan a MI!!
  #2 (permalink)  
Antiguo 06/01/2003, 10:39
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 15 años
Puntos: 0
para eso hay funciones propias de PHP parecedidas a lo que es en javascript y es

array getdate ( int timestamp)


Devuelve un array asociativo que contiene la información de fecha del valor timestamp como los siguientes elementos:


"seconds" - segundos

"minutes" - minutos

"hours" - horas

"mday" - día del mes

"wday" - día de la semana, en número

"mon" - mes, en número

"year" - año, en número

"yday" - día del año, en número; por ejemplo, "299"

"weekday" - día de la semana, en texto, completo; por ejemplo, "Friday"

"month" - mes, en texto, completo; por ejemplo, "January"

por ende deves hacer un switch con el array preguntando por mday, parte desde 0 como todo array, si es 0 es fomingo, si es 1 es lunes, si es 2 es martes, y haci, hasta el 6

Saludos
  #3 (permalink)  
Antiguo 06/01/2003, 11:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes usar:

Se usan arrays para contener los nombres de la semana (y en este caso añadí los de los meses) .. Los arrays son iniciados desde el indice 1 .. (e de ahi el 1=> .. ).

Código PHP:
<?php
// tu dato fecha de tu base de datos .. esto es un ejemplo . usa tus $dato_fecha_bd=$row['fecha'];
$dato_fecha_bd='2003-06-01';

//Dia de la semana array
$dia_semana=Array(1=>"Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo");

//Dia mes en castellano.
$mes_nombres=Array(1=>"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Nobiembre","Diciembre");

// dividir el string por "-" para obtner sus dia,mes,año por separado en un array.
$parametros=explode("-",$dato_fecha_bd);

$dia=$parametros[1];
$mes=intval($parametros[2]); // Obtener el intero del string "01" por ejemplo
$year=$parametros[0];

$dia_semana_numerico=date('w',$dia);
// formar la fecha de salida .. Se usa como indice del array $dia_semana el dia de la semana segun orden cronologico.

echo 'La fecha de hoy es: '.$dia_semana[$dia_semana_numerico].', '.$dia.' de '.$mes_nombres[$mes].' del '.$year;

?>
Tambien puedes usar setlocate() con el pais sp_SP o es_ES (e incluso cl_CL) para ajustar las preferencias de fechas en el idioma del pais q uses .. Esto no se como se comportará con los datos q envies usando alguna funcion de Mysql para formatear la fecha como el DATE_FORMAT() de Mysql ...

Un saludo,
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 03:00.