Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Saber dia a partir de fecha

Estas en el tema de Saber dia a partir de fecha en el foro de PHP en Foros del Web. estoy realizando unos reportes de asistencias para el trabajo, pero las base de datos estan un poco desordenadas y pues me an dado problemas..... mi ...
  #1 (permalink)  
Antiguo 05/08/2011, 15:37
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 8 meses
Puntos: 7
Saber dia a partir de fecha

estoy realizando unos reportes de asistencias para el trabajo, pero las base de datos estan un poco desordenadas y pues me an dado problemas.....
mi problema con php es saber el nombre del dia partir de una fecha......


por ejemplo -->
2011-08-01 lunes
2011-08-02 martes
2011-08-03 miercoles

cabe mencionar que las fechas las saco de la bd
  #2 (permalink)  
Antiguo 05/08/2011, 15:42
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Saber dia a partir de fecha

Hola que tal.

Te recomiendo que leas el manual en donde te explica como manipular esta acción.
date PHP
ejemplo 1


Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 05/08/2011, 15:46
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Saber dia a partir de fecha

si lo traes de la bd.

SELECT DAYNAME(fecha) AS nombre FROM tabla
  #4 (permalink)  
Antiguo 05/08/2011, 15:50
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Saber dia a partir de fecha

Y con PHP sería:

Código PHP:
Ver original
  1. <?php
  2. function DiaFecha($fecha) {
  3.     $dias = array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado');
  4.     $amd   = explode('-',$fecha);
  5.     $t   = mktime(0,0,0,$amd[1],$amd[2],$amd[0]);
  6.     return $dias[date('w',$t)];
  7. }
  8.  
  9. echo DiaFecha('2011-08-01') . '<br>'; //Lunes
  10. echo DiaFecha('2011-08-02') . '<br>'; //Martes
  11. echo DiaFecha('2011-08-03') . '<br>'; //Miercoles
  12. echo DiaFecha('2011-08-05') . '<br>'; //Viernes

También sirve:

Código PHP:
Ver original
  1. <?php
  2. function DiaFecha($fecha) {
  3.     $dias = array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado');
  4.     return $dias[date('w',strtotime($fecha))];
  5. }
  6.  
  7. echo DiaFecha('2011-08-01') . '<br>'; //Lunes
  8. echo DiaFecha('2011-08-02') . '<br>'; //Martes
  9. echo DiaFecha('2011-08-03') . '<br>'; //Miercoles
  10. echo DiaFecha('2011-08-05') . '<br>'; //Viernes

Última edición por andresdzphp; 05/08/2011 a las 16:05
  #5 (permalink)  
Antiguo 05/08/2011, 17:27
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Saber dia a partir de fecha

gracias a todos, yo tenia algo similar a la funcion de andresdzphp pero me marcaba error en el mktime, pero viendo sus ejemplos lo pude resolver ahora tengo una duda cual funcion usar la mia o la de andresdzphp o la de skiper0125........

GRACIAS A TODOS
  #6 (permalink)  
Antiguo 05/08/2011, 17:34
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Saber dia a partir de fecha

La que mejor te funcione, yo te dejé 2 formas de hacerlo y las 2 dan exactamente el mismo resultado. Otra cosa es que si no tienes configurado en tu php.ini la zona horaria, tendrás que poner en tu código, la zona horaria:

Código PHP:
Ver original
  1. date_default_timezone_set('America/Los_Angeles');
  #7 (permalink)  
Antiguo 06/08/2011, 02:52
 
Fecha de Ingreso: abril-2008
Ubicación: Santa Fe, Argentina
Mensajes: 41
Antigüedad: 16 años
Puntos: 14
Respuesta: Saber dia a partir de fecha

Mientras el locale esté bien configurado, basta con

Código PHP:
Ver original
  1. echo strftime('%A', strtotime('2011-08-06'));

Estas funciones ya traen conversión de fecha a literal, no hace falta reinventar la rueda.

http://php.net/manual/es/function.setlocale.php

Ej

Código PHP:
Ver original
  1. <?php
  2.  
  3. setlocale(LC_ALL, 'es_AR.utf8');
  4. echo strftime('%A',strtotime('2011-08-06'));
  5.  
  6. ?>

Como tengo ese locale instalado, esto me devuelve sábado.
  #8 (permalink)  
Antiguo 06/08/2011, 11:22
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Saber dia a partir de fecha

No creo que sea reinventar la rueda...

Código PHP:
Ver original
  1. setlocale(LC_ALL, 'es_AR.utf8');
  2. echo strftime('%A',strtotime('2011-08-06'));

que fallará si no tienes ese locale. Prefiero usar spanish

a esto que funciona en cualquier lado...

Código PHP:
Ver original
  1. $dias = array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado');
  2. echo $dias[date('w',strtotime('2011-08-06'))];

Lo bueno de PHP es que muchos caminos te pueden llevar al mismo sitio.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: dia, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:07.