|
| Script til at finde fredage, men hvad går ~ Fra : Finn Stampe Mikkelse~ |
Dato : 20-04-07 15:14 |
|
Hej
Jeg har lavet nedenstående script. Tanken er at lave en dropdown med
weekender frem til 2015. Den laver dog en fejl. pludselig laver den torsdage
i nogle uger og så vender den tilbage til fredage igen... Hvad hulen sker
der lige, for jeg kan ikke se det, når jeg flytter 7 dage frem hele tiden
burde jeg da ramme fredag altid.. eller hvad??
Virker som om, at ugen pludselig kun har 6 dage 1 gang, for efter nogen tid
at få 8 dage 1 gang igen, hvorefter det hele sker igen efter nogen tid...
Det virker sku ikke logisk. Jeg kan ikke finde nogen sammenhænge i 30 / 31
dage i måneden. Uanset hvad, så er der jo ALTID 7 dage imellem 2 fredage..
Så er totalt tabt her??
Lidt info :
$bf - Startdato som er en fredag
$da - Slutdato i 2015, som også er en fredag
$st - En uge i sekunder
$pe - 2 dage i sekunder (Fredag - Søndag)
Har egentligt bare indsat teksten "Fredag " i scriptet direkte. Har dog
ændret det til en date("D",$bf) for at fejlfinde.
<?php
$bf = date("U",mktime(0,0,0,4,20,2007));
$da = date("U",mktime(0,0,0,12,25,2015));
// 12, 25, 2015
$st = (60 *60 * 24) * 7;
$pe = (60 *60 * 24) * 2;
echo "<select class='textbox' name='dato' size='1'>\n";
$ed = $bf + $pe;
$periode = "Fredag " . date("d.m.Y",$bf) . ' - ' . "Søndag " .
date("d.m.Y",$ed);
echo "<option selected>$periode</option>";
$bf = $bf + $st;
While ($bf <= $da)
{
$ed = $bf + $pe;
// Her giver den Thu i nogle perioder, for at vende tilbage til Fri igen.
// Virker som om, at ugen pludselig kun har 6 dage 1 gang, for efter nogen
tid at få 8 dage 1 gang igen, hvorefter
// det hele sker igen efter nogen tid...
$periode = date("D",$bf) . ' ' . date("d.m.Y",$bf) . ' - ' . "Søndag " .
date("d.m.Y",$ed);
echo "<option>$periode</option>";
$bf = $bf + $st;
}
echo "</select>";
?>
| |
Kasper Johansen (20-04-2007)
| Kommentar Fra : Kasper Johansen |
Dato : 20-04-07 15:27 |
|
Finn Stampe Mikkelsen skrev:
> Jeg har lavet nedenstående script. Tanken er at lave en dropdown med
> weekender frem til 2015. Den laver dog en fejl. pludselig laver den
> torsdage i nogle uger og så vender den tilbage til fredage igen... Hvad
> hulen sker der lige, for jeg kan ikke se det, når jeg flytter 7 dage
> frem hele tiden burde jeg da ramme fredag altid.. eller hvad??
Hejsa.
Selvom strtotime() ligner et grimt hack, så kan den være virkelig nyttig.
$time = strtotime("next friday", time());
$time = strtotime("friday", time());
Se også dokumentationen her:
http://dk.php.net/strtotime
Brug den hvis du vil hoppe over, hvor gæret er lavest
--
Med venlig hilsen
Kasper Johansen
| |
Jesper Juul-Mortense~ (20-04-2007)
| Kommentar Fra : Jesper Juul-Mortense~ |
Dato : 20-04-07 15:50 |
|
On Fri, 20 Apr 2007 16:14:28 +0200, "Finn Stampe Mikkelsen"
<stampe@city.dk> wrote:
>Virker som om, at ugen pludselig kun har 6 dage 1 gang, for efter nogen tid
>at få 8 dage 1 gang igen, hvorefter det hele sker igen efter nogen tid...
>Det virker sku ikke logisk. Jeg kan ikke finde nogen sammenhænge i 30 / 31
>dage i måneden. Uanset hvad, så er der jo ALTID 7 dage imellem 2 fredage..
>Så er totalt tabt her??
Bemærk hvornår skiftet sker fra fredag til torsdag og tilbage igen.
Dine problemer skyldes sommertid/normaltid. Det hurtige fiks ville
være at genere dine tidstamps kl. 12 middag i stedet for midnat.
/Jesper
| |
Jesper Juul-Mortense~ (20-04-2007)
| Kommentar Fra : Jesper Juul-Mortense~ |
Dato : 20-04-07 16:00 |
|
On Fri, 20 Apr 2007 14:50:24 GMT, Jesper Juul-Mortensen
<na@na.invalid> wrote:
>Bemærk hvornår skiftet sker fra fredag til torsdag og tilbage igen.
>Dine problemer skyldes sommertid/normaltid. Det hurtige fiks ville
>være at genere dine tidstamps kl. 12 middag i stedet for midnat.
s/genere/generere/
Det gik lidt stærkt
/Jesper
| |
Finn Stampe Mikkelse~ (20-04-2007)
| Kommentar Fra : Finn Stampe Mikkelse~ |
Dato : 20-04-07 16:51 |
|
"Finn Stampe Mikkelsen" <stampe@city.dk> skrev i meddelelsen
news:4628caa9$0$52106$edfadb0f@dread11.news.tele.dk...
> Hej
>
> Jeg har lavet nedenstående script. Tanken er at lave en dropdown med
> weekender frem til 2015. Den laver dog en fejl. pludselig laver den
> torsdage i nogle uger og så vender den tilbage til fredage igen... Hvad
> hulen sker der lige, for jeg kan ikke se det, når jeg flytter 7 dage frem
> hele tiden burde jeg da ramme fredag altid.. eller hvad??
>
>
Hej
God damn... Den havde jeg sku ikke luret, at det var sommer / vinter tid...
Kendte heller ikke til Next Friday i strtotime. Har fået det til at virke
nu, hvor jeg bruger kl. 16 i stedet for... tak for hjælpen...
/Finn
| |
|
|