🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
2 messages
2 total messages Started by Javier M Mora (jamarier) Sun, 02 Oct 2005 19:15
distancia entre dos fechas en PHP
#1485
Author: Javier M Mora (jamarier)
Date: Sun, 02 Oct 2005 19:15
67 lines
3388 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Estoy intentando determinar la distancia entre dos cordenadas temporales
(fechas y hora). Una es la actual y otra es una fecha dada.

as� que la funci�n tiene dos par�metros, la escala y la fecha de un
evento.

He encontrado en el manual online PHP, cosas del estilo a
(strtotime($fecha)-date())/(24*60*60),

Pero esto no vale porque yo quiero que me el tiempo en unidades
"convencionales", es decir, si ahora son las 20:00 y el evento ser�
ma�ana a las 5:00, El tiempo que falta es "un d�a" (usando la escala del
d�a). Por el contrario, si el evento fu� esta ma�ana a las 5:00, el
evento ha sido hoy ("cero dias de distancia"). A pesar que las horas de
distancia en el primer caso son s�lo 9 horas y en el segundo caso 15 horas.

As� que lo que hago es: 

$fecha= "2005-10-2";
$segundosendias=24*60*60;
$segundosenhora=60*60; //por si quiero cambiar de escala.
$escala=$segundosendias;
$diferenciaendias= floor(strtotime($fecha)/$escala)-floor(time()/$escala);

es decir, pretendo determinar los dias *enteros* transcurridos desde el
epoch entre la fecha actual y la deseada. Y resto dichos d�as.

Lamentablemente, como no todos los d�as tienen el mismo n�mero de
segundos, hay problemas en la divisi�n. Y la distancia entre, por
ejemplo la fecha "2005-10-2" y "2005-10-2 20:00" es de un d�a! ;-(

As� que �existe alguna forma sencilla de determinar la distancia entre
dos eventos temporales en "dias convencionales"?

atte. javier m mora.

Pd. No entiendo el �xito de PHP favorece muchos m�s vicios que Perl y no
le veo beneficio aparente.




Con lo que te�ricamente hasta las 23:59 de hoy la diferencia ser�a 0 y a
partir del d�a siguiente, ya ser�a -1.

Pues bien, resulta que strtotime("2005-10-2")/$segundosendias no es
entera quiero pensar que se tienen en cuenta los alargamientos y
acortamiento de los d�as a lo largo del a�o. Y hace inutil mi sistema. 

�hay alg�n sistema fiable de contar el n�mero de d�as entre dos fechas
en PHP?


- -- 
	Javier Maria Mora Merchan
	(GPGP) Key ID: 0x794F3D83

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDQDIZpRHCj3lPPYMRAvG9AJ9DxwvkHzWPkCXsY20o0V7fGtQXWACgq4Yf
v3wEuIIKS/XFvKgeD3/WDe4=
=Q99N
-----END PGP SIGNATURE-----
Re: distancia entre dos fechas en PHP
#1486
Author: Javier M Mora (jamarier)
Date: Sun, 02 Oct 2005 19:26
54 lines
2772 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Javier M Mora (jamarier) escribi�:
On Sun, 2 Oct 2005 19:15:56 +0000 (UTC), Javier M Mora (jamarier) wrote:
>
> Estoy intentando determinar la distancia entre dos cordenadas temporales
> (fechas y hora). Una es la actual y otra es una fecha dada.
>
> [...]
>
> Pero esto no vale porque yo quiero que me el tiempo en unidades
> "convencionales", es decir, si ahora son las 20:00 y el evento ser�
> ma�ana a las 5:00, El tiempo que falta es "un d�a" (usando la escala del
> d�a). Por el contrario, si el evento fu� esta ma�ana a las 5:00, el
> evento ha sido hoy ("cero dias de distancia"). A pesar que las horas de
> distancia en el primer caso son s�lo 9 horas y en el segundo caso 15 horas.
>
> [...]
>
> es decir, pretendo determinar los dias *enteros* transcurridos desde el
> epoch entre la fecha actual y la deseada. Y resto dichos d�as.
>
> [...]
>
> As� que �existe alguna forma sencilla de determinar la distancia entre
> dos eventos temporales en "dias convencionales"?

Antes pregunto y antes lo encuentro. Al menos para los d�as: 

$diffdate = unixtojd(strtounix($fecha))-unixtojd();



Se ve que no borr� el final que era otra "exposici�n del mismo
problema".

> Pd. No entiendo el �xito de PHP favorece muchos m�s vicios que Perl y no
> le veo beneficio aparente.

Ah, sigo sin verle la chicha al PHP.


- -- 
	Javier Maria Mora Merchan
	(GPGP) Key ID: 0x794F3D83

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDQDSXpRHCj3lPPYMRAmfsAJ4wLYUxBNLCd25ra75Kf3GxhjfPKQCgliAo
kRligMSCn3hCy401gsmuqGY=
=Tax9
-----END PGP SIGNATURE-----
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads