Avatar billede leif Seniormester
25. juli 2006 - 22:48 Der er 11 kommentarer og
1 løsning

Gennemløbe fra Dato til Dato

Hej,

Jeg står med en anden udfordring (i hvert til fald for min hjerne), hvis jeg taster datoerne: 25/07-06 og 31/08-06 skal jeg bruge ALLE datoer som ligger imellem i et array.

Jeg kan ikke lige se en nem måde men det kan du måske.

Jeg vil IKKE have time med men bare dato i formattet YYYY-MM-DD

Ser frem til at høre fra dig.

På forhånd tak


/Leif
Avatar billede taskmgr Nybegynder
25. juli 2006 - 23:32 #1
Den kan klares på forskellige måder, men her er et forslag:

$start = '2006-07-25';
$end = '2006-08-31';
$date_ts = strtotime($start);
$end_ts = strtotime($end);

$dates = array($start);
while ($date_ts < $end_ts) {
  $date_ts = $date_ts + 24*60*60;
  $dates[] = date ('Y-m-d', $date_ts);
}
Avatar billede leif Seniormester
25. juli 2006 - 23:43 #2
Hvordan udskriver jeg egentlig $dates[] ?
Avatar billede taskmgr Nybegynder
25. juli 2006 - 23:47 #3
Med eks. $dates[0] eller en løkke.

Hvis du tænker på noget til hurtigt at aflæse, så brug print_r($dates) eller var_dump($dates).
Avatar billede leif Seniormester
25. juli 2006 - 23:50 #4
Jeg ved ikke om det bare er mig som er træt, men hvordan laver jeg en løkke ?
Avatar billede taskmgr Nybegynder
25. juli 2006 - 23:52 #5
Tag et kig på min artikel her:
http://www.eksperten.dk/artikler/99
:)
Avatar billede taskmgr Nybegynder
25. juli 2006 - 23:53 #6
og evt. her under 'while-loops':
http://www.eksperten.dk/artikler/267
Avatar billede erikjacobsen Ekspert
25. juli 2006 - 23:53 #7
Og nu er der jo så lige noget, der hedder sommertid - det er træls, irriterende, bøvlet, og burde være grundlovsstridigt ... men det er der.

Derfor går beregningen i taskmgrs eksempel galt omkring de 2 datoer hvert år, hvor der er skift til og fra sommertid.  Løsningen:

1) Regn altid på et tidspunkt "langt væk" fra midnat, fx. kl. 12.00.00
2) Vær omhyggelig med at stoppe på den rigtige dato - test grundigt!
Avatar billede leif Seniormester
25. juli 2006 - 23:57 #8
Nu er det bare et spørgsmål om at jeg skal finde datoerne og sætte dem ind i en database. Om den regner et par dage forkert til tider overlever jeg nok med.
Avatar billede leif Seniormester
25. juli 2006 - 23:58 #9
Bare jeg får alle datoerne imellem
Avatar billede leif Seniormester
26. juli 2006 - 00:25 #10
Jeg er som sådan tilfreds, men findes der en bedre metode er jeg da lydhør overfor det, men ellers kan taskmgr smide et svar.
Avatar billede taskmgr Nybegynder
02. august 2006 - 13:18 #11
Det må blive til et svar.
Avatar billede leif Seniormester
02. august 2006 - 13:42 #12
Jeg takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester