Foros del Web » Programando para Internet » PHP »

Contar días desde cierta fecha

Estas en el tema de Contar días desde cierta fecha en el foro de PHP en Foros del Web. Estoy intentando contar los días desde cierta fecha con lo siguiente: Código PHP:    $startunix  =  mktime ( 0 ,  0 ,  0 ,  10 ,  ...
  #1 (permalink)  
Antiguo 27/05/2003, 19:26
Avatar de cvander
Moderador
 
Fecha de Ingreso: abril-2001
Ubicación: Ciudadano del mundo
Mensajes: 13.638
Antigüedad: 23 años
Puntos: 1792
Pregunta Contar días desde cierta fecha

Estoy intentando contar los días desde cierta fecha con lo siguiente:

Código PHP:
   $startunix mktime(00010151998); 
   
$endunix mktime(000date("m"), date("d"), date("Y")); 

   
$difference $endunix $startunix
   
$dias number_format($difference/86400,0); 
Creo que funciona, aunque haciendo cuentas un amigo me dice que no es tan exacta.

Alguna forma mejor de hacer esto?
__________________
- Christian Van Der Henst
Platzi
  #2 (permalink)  
Antiguo 27/05/2003, 20:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Será por los años bisiestos xDD no?.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 27/05/2003, 21:49
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
MMmmmmmmmmNnnnMnmnmmmm...

Miren este test:
Código PHP:
<?php
$startunix 
mktime(0002272000);  // 2000 es bisiesto
$endunix mktime(000312000); 
$difference $endunix $startunix
$dias1 number_format($difference/86400,0);

$startunix mktime(0002272001); // 2001 no es bisiesto
$endunix mktime(000312001); 
$difference $endunix $startunix
$dias2 number_format($difference/86400,0);


echo 
"$dias1\n<br>$dias2";
?>
Imprime primero 3 y despues 2, por lo que si se tiene en cuenta el dia 29 de febredo de 2000.
A mi me parece que es correcto el proceso. Es mi humilde opinion.

Un saludo y felicidades por todo esto Christian!
  #4 (permalink)  
Antiguo 27/05/2003, 22:34
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Solo como sugerencia...

si los datos los traes de MySQL, prueba con las funciones internas de la BD, son mucho mas poderosas y rapidas, ya que en lugar de traer una fecha y luego calcularla, te traes el resultado ya calculado...

(checa la funcion TO_DAYS() de MySQL si es que es el caso...)

Saludos!
__________________
Manoloweb
  #5 (permalink)  
Antiguo 28/05/2003, 12:53
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Hola, yo hize este con ayuda de Cluster y Cain:

Código PHP:
<?php
$creacion 
mktime(0,0,0,10,15,2002);
$hoy time();
$resta $hoy $creacion;
$total round($resta/86400);
echo 
"$total días on-line";
?>
A mi me funciona bien.

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #6 (permalink)  
Antiguo 28/05/2003, 13:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm El ejemplo de cvhds .. desprecia los "decimales" (usando nombre format ..)

En el ejemplo de Pino .. redondea (round() ..) así que ejemplo ..
1 año 11 meses .. el ejemplo de pino daría 2 años y el de cvhds 1 año (si no me equivoco o me fallan las matemáticas ?¿)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 28/05/2003, 15:26
Avatar de cvander
Moderador
 
Fecha de Ingreso: abril-2001
Ubicación: Ciudadano del mundo
Mensajes: 13.638
Antigüedad: 23 años
Puntos: 1792
No utilizo mysql sino creeme que me sería más fácil De momento es un experimento para contabilizar los días de un proyecto.

Voy a ver si consigo alguna aplicación por allí que calcule estos datos para comparar los resultados que tengo y ver si está funcionando correctamente ;)
__________________
- Christian Van Der Henst
Platzi
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:56.