/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp til tidsudregning
Fra : Frank Larsen


Dato : 11-06-03 17:59

Hejsa

Jeg er stødt på lidt af en hovedknuser af et problem.

Jeg skal udregne om perioden fra TimeStampA til TimeStampB på noget
tidspunkt falder oven i perioden TimeStampC til TimeStampD. Og det skal
siges at både A,B,C & D kan være vilkårlige tidspunkter.

Er der nogen der har prøvet at lave noget lignende før? Eller evt. kan
give mig et par ideer om hvordan den skal gribes and i PHP?

På forhånd tak ihvertfald

Frank


 
 
Martin C. Petersen (11-06-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 11-06-03 18:14

"Frank Larsen" <redlance@barefoot.dk> skrev i en meddelelse
news:3ee75fbd$0$97186$edfadb0f@dread12.news.tele.dk...
> Jeg skal udregne om perioden fra TimeStampA til TimeStampB på noget
> tidspunkt falder oven i perioden TimeStampC til TimeStampD. Og det skal
> siges at både A,B,C & D kan være vilkårlige tidspunkter.
Taler vi unix-timestamp's?

I så fald:
<code>
$minAB = min($tidA,$tidB);
$minCD = min($tidC,$tidD);
$maxAB = max($tidA,$tidB);
$maxCD = max($tidA,$tidB);
if( ($minAB<$minCD&&$minCD<$maxAB)||($minAB>$minCD&&$minAB<$maxCD) ) echo
"overlap!";
</code>


Martin



Jacob Atzen (11-06-2003)
Kommentar
Fra : Jacob Atzen


Dato : 11-06-03 22:49

"Martin C. Petersen" <mcp@phys.au.dk> writes:

> <code>
> $minAB = min($tidA,$tidB);
> $minCD = min($tidC,$tidD);
> $maxAB = max($tidA,$tidB);
> $maxCD = max($tidA,$tidB);
> if( ($minAB<$minCD&&$minCD<$maxAB)||($minAB>$minCD&&$minAB<$maxCD) ) echo
> "overlap!";
> </code>

Er det ikke lidt overflødigt at udregne både minAB og maxAB?

--
Med venlig hilsen
- Jacob Atzen

Jesper Brunholm (12-06-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 12-06-03 06:11

Jacob Atzen wrote:
> "Martin C. Petersen" <mcp@phys.au.dk> writes:
>
>
>><code>
>>$minAB = min($tidA,$tidB);
>>$minCD = min($tidC,$tidD);
>>$maxAB = max($tidA,$tidB);
>>$maxCD = max($tidA,$tidB);
>>if( ($minAB<$minCD&&$minCD<$maxAB)||($minAB>$minCD&&$minAB<$maxCD) ) echo
>>"overlap!";
>></code>
>
>
> Er det ikke lidt overflødigt at udregne både minAB og maxAB?

Nej, for det hele skal med, som det også nydeligt er vist ovenfor i
koden. Vi vil både fange (fx):

minAB--------------maxAB
minCD----------------maxCD

og

minAB--------------maxAB
minCD----------------maxCD


mvh

Jesper Brunholm


Jacob Atzen (12-06-2003)
Kommentar
Fra : Jacob Atzen


Dato : 12-06-03 16:30

Jesper Brunholm <nospam@brunholm-scharff.dk> writes:

> Jacob Atzen wrote:
>
> > Er det ikke lidt overflødigt at udregne både minAB og maxAB?
>
> Nej, for det hele skal med, som det også nydeligt er vist ovenfor i
> koden. Vi vil både fange (fx):

Ak ja, nogen gange skal man tænke lidt mere, før man skriver.

--
Med venlig hilsen
- Jacob Atzen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408936
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste