Foros del Web » Programando para Internet » PHP »

Sumar y restar fechas

Estas en el tema de Sumar y restar fechas en el foro de PHP en Foros del Web. Quería mostrar en mi web el número de usuarios registrado a día de hoy y de ayer... Calculo la fecha de hoy con un $fecha=getdate( ...
  #1 (permalink)  
Antiguo 30/06/2004, 17:17
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Sumar y restar fechas

Quería mostrar en mi web el número de usuarios registrado a día de hoy y de ayer...

Calculo la fecha de hoy con un $fecha=getdate( time() );

Y de $fecha saco la fecha con formato aaaa-mm-dd, para luego enviar una consulta a mysql...

Para saber la fecha de ayer resto 1 a la fecha de hoy...

Hoy es día 1 pero ayer no fué dia 0...

Hay alguna manera más eficaz de sumar o resta fechas?

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #2 (permalink)  
Antiguo 30/06/2004, 17:51
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Si es para hacer la consulta a MySql... pues el problema te lo resuelve el mismo SQL
http://dev.mysql.com/doc/mysql/en/Da...functions.html

Podría ser una sentencia:
Código PHP:
$sql "SELECT COUNT(*) FROM tabla WHERE TO_DAYS(CURDATE())-TO_DAYS(campo_fecha)<2"
No sé si estará bien.. pero igual deberías ver en el enlace al manual que te puse.

Saludos
  #3 (permalink)  
Antiguo 01/07/2004, 10:43
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Resuelto

Gracias por tu respuesta, pero ya lo he resuelto.

De php aún controlo algo pero de sql ná de ná, me limito a sacar los datos de la base y luego con php los 'administro' como quiera...

Para solucionarlo simplemente resté el número de segundos de 1 día a la fecha actual y ya obtengo directamente la fecha de ayer...

$hoy=getdate ( time() );

$ayer=getdate ( time() - 86400 );

Saludos y gracias.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #4 (permalink)  
Antiguo 01/07/2004, 16:47
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Te repito que si todo eso lo haces exclusivamente para hacer la consulta a la base de datos... te resulta muchísimo más "económico" hacerlo mediante el SQL directamente.
Lo que hace (o, almenos debería hacer) el SQL que te puse arriba es casi igual a lo que tú haces con PHP. Sólo que lo hace dentro de la misma consulta y te devuelve directamente el número de registros hallados (sin necesidad de hacer un mysql_num_rows()).... tal vez deberías tratar de entenderlo.

Saludos
  #5 (permalink)  
Antiguo 01/07/2004, 19:51
 
Fecha de Ingreso: junio-2004
Ubicación: Stgo, Chile
Mensajes: 51
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola!

Si tenemos dia, mes y año en 3 variables, otra forma de sumar dias a una fecha, seria la siguiente:
$nueva_fecha=getdate(mktime(0,0,0,$dd_mes,$dd_dia+ $num_dias,$dd_anho));

Suerte!
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 20:41.