/ 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
Dato-array volder problemer
Fra : Dennis Munding


Dato : 25-05-08 07:22

Hej NG!

Jeg har et script til udskrivning af dato (oprindelig hentet fra en anden
side - kan ikke huske hvor...).
Jeg har så tilføjet lidt, så søndage bliver markeret med rød skrift...
Men jeg vil også gerne have de danske helligdage markeret, men det virker
ikke umiddelbart!

Scriptet kan beskues på flg. adr.:
http://pastebin.com/m4cb763b (Det er linjerne 44-61, som volder kvaler...)

Jeg har lagt helligdagene ind i et array, men der er noget jeg overser/har
glemt, for der bliver ikke trukket noget som helst ud derfra...?

Håber en venlig sjæl kan sparke mig i den rigtige retning...
Prøver lige at gå mine bøger igennem igen - det burde stå i enaf dem, men
jeg er tilsyneladende blevet blind...


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


 
 
Peter Brodersen (25-05-2008)
Kommentar
Fra : Peter Brodersen


Dato : 25-05-08 07:28

On Sun, 25 May 2008 08:22:11 +0200, "Dennis Munding" <mail@invalid.dk>
wrote:

>Jeg har lagt helligdagene ind i et array, men der er noget jeg overser/har
>glemt, for der bliver ikke trukket noget som helst ud derfra...?

Utestet, men...

Linje 57 skal rettes til:
if (in_array($dato,$helligdag)) {

--
- Peter Brodersen
Kendt fra Internet

Dennis Munding (25-05-2008)
Kommentar
Fra : Dennis Munding


Dato : 25-05-08 09:33

Hej Peter!

"Peter Brodersen" skrev:

>>Jeg har lagt helligdagene ind i et array, men der er noget jeg overser/har
>>glemt, for der bliver ikke trukket noget som helst ud derfra...?
>
> Utestet, men...
>
> Linje 57 skal rettes til:
> if (in_array($dato,$helligdag)) {

Desværre...
Det gav dig ikke en plads i aften-bønnen...

Det mest irriterende er, at når det kommer til stykket, så er det garanteret
så simpelt, at man tror det er løgn...!

Men tak for det meget hurtige bud!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Martin (25-05-2008)
Kommentar
Fra : Martin


Dato : 25-05-08 12:19

Dennis Munding wrote:
> Hej Peter!
>
> "Peter Brodersen" skrev:
>
>>> Jeg har lagt helligdagene ind i et array, men der er noget jeg
>>> overser/har
>>> glemt, for der bliver ikke trukket noget som helst ud derfra...?
>>
>> Utestet, men...
>>
>> Linje 57 skal rettes til:
>> if (in_array($dato,$helligdag)) {

Man kan ikke bruge in_array, da den leder efter values i et array, og da
alle helligdagene står som keys, så skal der stå



>
> Desværre...
> Det gav dig ikke en plads i aften-bønnen...
>
> Det mest irriterende er, at når det kommer til stykket, så er det
> garanteret så simpelt, at man tror det er løgn...!
>
> Men tak for det meget hurtige bud!
>
>
> Med venlig hilsen

Martin (25-05-2008)
Kommentar
Fra : Martin


Dato : 25-05-08 12:24

Martin wrote:
> Man kan ikke bruge in_array, da den leder efter values i et array, og da
> alle helligdagene står som keys, så skal der stå

Hov.. der manglede vist lidt der :)

if(array_key_exists($dato,$helligdag)) {

PS:
Så er det en rigtig dårlig idé at skrive helligdage som et ustandard,
ville være meget bedre at skrive
20081225 fx. som er iso standard, tænk hvis du skal lave det til
engelsk, så skal du jo lave månedsnavne om, og bum så skal du starte
næsten helt forfra.

Oversættelser skal først ske som noget af det allersidste end det hele
bliver udskrevet, så det er hurtigt og nemt at lave det til et andet sprog.

Desuden så findes der også en PEAR klasse til netop helligdage (og
kalendere)
<http://pear.php.net/package/Date_Holidays_Denmark>
<http://pear.php.net/package/Calendar>
Til dem som ikke gider opfinde den dybe tallerken hvergang :)

Dennis Munding (25-05-2008)
Kommentar
Fra : Dennis Munding


Dato : 25-05-08 18:24

Hej Martin!
"Martin" skrev i meddelelsen:
> Hov.. der manglede vist lidt der :)

Sådan går det nogle gange i kampens hede...

> if(array_key_exists($dato,$helligdag)) {

Jeg takker mange gange for dit indspark, men jeg valgte at bruge Bertels
forslag, da det samtidig gav noget mere serverplads...

> PS:
> Så er det en rigtig dårlig idé at skrive helligdage som et ustandard,
> ville være meget bedre at skrive
> 20081225 fx. som er iso standard, tænk hvis du skal lave det til engelsk,
> så skal du jo lave månedsnavne om, og bum så skal du starte næsten helt
> forfra.

Det skal jeg huske - er stadig i færd med at lære php, så alle input er
kærkomne, selv om det går lidt trægt for tiden (se mit svar til Bertel)...

> Oversættelser skal først ske som noget af det allersidste end det hele
> bliver udskrevet, så det er hurtigt og nemt at lave det til et andet
> sprog.

Det er der en vis logik i...

> Desuden så findes der også en PEAR klasse til netop helligdage (og
> kalendere)
> <http://pear.php.net/package/Date_Holidays_Denmark>
> <http://pear.php.net/package/Calendar>
> Til dem som ikke gider opfinde den dybe tallerken hvergang :)

Joo men, hvor skal jeg placere filen/klassen??
Er ikke så meget inde i den tekniske del... :-/

Tusind tak for dit svar!!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Martin (25-05-2008)
Kommentar
Fra : Martin


Dato : 25-05-08 23:17

Dennis Munding wrote:
> Hej Martin!
> "Martin" skrev i meddelelsen:
>> Hov.. der manglede vist lidt der :)
>
> Sådan går det nogle gange i kampens hede...
>
>> if(array_key_exists($dato,$helligdag)) {
>
> Jeg takker mange gange for dit indspark, men jeg valgte at bruge Bertels
> forslag, da det samtidig gav noget mere serverplads...
>
>> PS:
>> Så er det en rigtig dårlig idé at skrive helligdage som et ustandard,
>> ville være meget bedre at skrive
>> 20081225 fx. som er iso standard, tænk hvis du skal lave det til
>> engelsk, så skal du jo lave månedsnavne om, og bum så skal du starte
>> næsten helt forfra.
>
> Det skal jeg huske - er stadig i færd med at lære php, så alle input er
> kærkomne, selv om det går lidt trægt for tiden (se mit svar til Bertel)...
>
>> Oversættelser skal først ske som noget af det allersidste end det hele
>> bliver udskrevet, så det er hurtigt og nemt at lave det til et andet
>> sprog.
>
> Det er der en vis logik i...
>
>> Desuden så findes der også en PEAR klasse til netop helligdage (og
>> kalendere)
>> <http://pear.php.net/package/Date_Holidays_Denmark>
>> <http://pear.php.net/package/Calendar>
>> Til dem som ikke gider opfinde den dybe tallerken hvergang :)
>
> Joo men, hvor skal jeg placere filen/klassen??
> Er ikke så meget inde i den tekniske del... :-/

Jeg plejer at smide det hele ned i et under bibliotek, fx.
includes/PEAR

Så laver jeg en
ini_set('include_dir','includes/PEAR');

Især bruger jeg meget
<http://pear.php.net/package/HTML_Common>
og
<http://pear.php.net/package/HTML_QuickForm>

Hvis altså jeg ikke arbejder i Zend Framework som stadig er mit favorit
framework, da tingene er lavet en del anderledes end i andre frameworks
samt dokumentationen dårligt kunne skrives bedre :)

Peter Brodersen (26-05-2008)
Kommentar
Fra : Peter Brodersen


Dato : 26-05-08 00:19

On Sun, 25 May 2008 13:19:12 +0200, Martin <martin@aarhof.invalid> wrote:

>>> Linje 57 skal rettes til:
>>> if (in_array($dato,$helligdag)) {
>
>Man kan ikke bruge in_array, da den leder efter values i et array, og da
>alle helligdagene står som keys, så skal der stå

Hm:

$helligdag = array( // Herfra... - virker det ikke!!
"25. december 2008",
"26. december 2008",
"1. januar 2009",
"9. april 2009",
"10. april 2009",
"13. april 2009",
"8. maj 2009",
"21. maj 2009",
"1. juni 2009",
"25. december 2009",
"26. december 2009"
);

Her er de nu values. Der angives ingen keys, så der bliver blot oprettet
et numerisk array. Det kan man fx også se med fx var_dump()

--
- Peter Brodersen
Kendt fra Internet

Bertel Lund Hansen (25-05-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-05-08 13:13

Dennis Munding skrev:

> Jeg har et script til udskrivning af dato (oprindelig hentet fra en anden
> side - kan ikke huske hvor...).

Det er alt for kompliceret og drager ikke fordel af de indbyggede
datorutiner der er i PHP.

data() respekterer ikke setlocale(), men det gør strftime(), så
brug altid den.

Det følgende er testet. Jeg har sat dags dato til at være en
helligdag og strøget alle de andre helligdage. Du kan selv
tilføje dem, men formatet er numerisk efter ISO-standarden. Det
er mest praktisk.

<?php
setlocale(LC_ALL, 'da_DK');
$dato=strftime('%A den %d. %B %Y');
$numdato=strftime('%Y%m%d');
echo $dato.'<br>';
echo $numdato;

$helligdag = array (
"20080525",
);

if (in_array($numdato,$helligdag)) $class = "helligdag";
else $class = "normal";

echo "Dato: <span class='$class'>$dato</span>";
?>

Man kan ikke se i browseren at det er en helligdag fordi der
mangler hele HTML-sidens opbygning samt erklæring af CSS-delen,
men det er du vel klar over. Hvis du kikker i HTML-koden, vil du
se at klassen er sat som den skal være.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Dennis Munding (25-05-2008)
Kommentar
Fra : Dennis Munding


Dato : 25-05-08 18:17

Hej Bertel!
"Bertel Lund Hansen" skrev:
>> Jeg har et script til udskrivning af dato (oprindelig hentet fra en anden
>> side - kan ikke huske hvor...).
>
> Det er alt for kompliceret og drager ikke fordel af de indbyggede
> datorutiner der er i PHP.
>
> data() respekterer ikke setlocale(), men det gør strftime(), så
> brug altid den.

Det vil jeg prøve at huske...

> Det følgende er testet. Jeg har sat dags dato til at være en
> helligdag og strøget alle de andre helligdage. Du kan selv
> tilføje dem, men formatet er numerisk efter ISO-standarden. Det
> er mest praktisk.

Hmmm....
Testet?? Sikker?

Skal nok prøve at huske dét med det numeriske...

> <?php
> setlocale(LC_ALL, 'da_DK');
> $dato=strftime('%A den %d. %B %Y');
> $numdato=strftime('%Y%m%d');
> echo $dato.'<br>';
> echo $numdato;
>
> $helligdag = array (
> "20080525",
> );
>
> if (in_array($numdato,$helligdag)) $class = "helligdag";
> else $class = "normal";
>
> echo "Dato: <span class='$class'>$dato</span>";
> ?>

Det giver flg. udskrift hos mig:
søndag den 25. maj 2008
20080525Dato: søndag den 25. maj 2008

Den 3. dato har den rigtige farve - i mit tilfælde rød...


Men da jeg var kommet mig over forvirringen, fjernede jeg selvfølgelig disse
linjer fra scriptet:
echo $dato.'<br>';
echo $numdato;

Og så blev datoen kun udskrevet én gang, som ønsket...

> Man kan ikke se i browseren at det er en helligdag fordi der
> mangler hele HTML-sidens opbygning samt erklæring af CSS-delen,
> men det er du vel klar over. Hvis du kikker i HTML-koden, vil du
> se at klassen er sat som den skal være.

Korrekt!
Men nu er jeg svær at stille tilfreds, så dit script er blevet modificeret
lidt, da jeg både ønsker at ugedagene begynder med stort bogstav (se hvorfor
på siden jeg linker til længere nede...), og gerne vil have at søndage også
bliver markeret med anden farve...

Så slutresultatet ser således ud:

<?php
setlocale(LC_ALL, 'da_DK');
$dato=strftime('%d. %B %Y');
$numdato=strftime('%Y%m%d');
$ugedag = date('w'); // Dagens nummer i indeværende uge
// (et tal mellem 0-6, begge iregnet)
$dagNavn = array(
"Søndag",
"Mandag",
"Tirsdag",
"Onsdag",
"Torsdag",
"Fredag",
"Lørdag"
);
$dagNavn = htmlentities($dagNavn[$ugedag]);

$helligdag = array (
"20081225",
"20081226",
"20090101",
"20090410",
"20090413",
"20090508",
"20090521",
"20090601",
"20091225",
"20091226",
);

if (in_array($numdato,$helligdag) || $ugedag == 0) $class = "helligdag";
else $class = "normal";

echo "Ugedag: <span class='$class'>$dagNavn</span><br />Dato:<br /><span
class='$class'>$dato</span>";
?>

Og her kan man se resultatet - i menu-sektionen:
http://skovaa-munding.dk/

Læg dog mærke til herover, at den næste helligdag først kommer den 25.
december!
Men det virker!!

Mange tak for serveringen og sparket!

Har haft (og har stadig) andet at tænke på, som næsten umuliggør udvikling
og indlæring...

Endnu en gang tusind tak!!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Bertel Lund Hansen (27-05-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 27-05-08 23:32

Dennis Munding skrev:

> Hmmm....
> Testet?? Sikker?

Ja. Jeg efterlod se ekstra linjer for at tydeliggøre for dig hvad
der foregår.

> Men nu er jeg svær at stille tilfreds, så dit script er blevet modificeret
> lidt,

Selvfølgelig. Ideer og kode som jeg giver folk, er kun oplæg til
videre bearbejdning.

> da jeg både ønsker at ugedagene begynder med stort bogstav (se hvorfor
> på siden jeg linker til længere nede...)

Det fremgår ikke af siden. Efter dansk standard skriver vi
ugedage og månedsnavne med småt.

Hvis du ville skrive ugedagen alene (uden "Ugedag: "), kunne jeg
bedre forstå at du ville starte med stort. Men dig om det.

> $ugedag = date('w'); // Dagens nummer i indeværende uge
> // (et tal mellem 0-6, begge iregnet)
> $dagNavn = array(
> "Søndag",
> "Mandag",
> "Tirsdag",
> "Onsdag",
> "Torsdag",
> "Fredag",
> "Lørdag"
> );

Du kan også bare bruge ucfirst() på det dagnavn som systemet
returnerer.

> Endnu en gang tusind tak!!

Velbekomme.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Stig Johansen (28-05-2008)
Kommentar
Fra : Stig Johansen


Dato : 28-05-08 06:28

Bertel Lund Hansen wrote:

> Det fremgår ikke af siden. Efter dansk standard skriver vi
> ugedage og månedsnavne med småt.

Muligvis lidt OT, men:
Det foresvæver mig, at vi i folkeskolen (slut 60'ern) fik at vide at den
første dag i ugen var søndag.
Men samtidig har jeg indtrykket af, at man nu betragter mandag som første
dag i ugen.
Hvad er egentlig det rigtige?

--
Med venlig hilsen
Stig Johansen

Birger (28-05-2008)
Kommentar
Fra : Birger


Dato : 28-05-08 08:45

"Stig Johansen" <wopr.dk@gmaill.com> skrev i en meddelelse
news:483cedaa$0$90263$14726298@news.sunsite.dk...
> Bertel Lund Hansen wrote:
>
>> Det fremgår ikke af siden. Efter dansk standard skriver vi
>> ugedage og månedsnavne med småt.
>
> Muligvis lidt OT, men:
> Det foresvæver mig, at vi i folkeskolen (slut 60'ern) fik at vide at den
> første dag i ugen var søndag.
> Men samtidig har jeg indtrykket af, at man nu betragter mandag som første
> dag i ugen.
> Hvad er egentlig det rigtige?
>


Af helt personlige årsager, bryder jeg mig hverken om USA eller de mennesker
der bor der - med få undtagelser.
Men de regner søndag for den første dag i ugen.

Der foresvæver noget om at hviledagen er den 7. og at vi skal huske at komme
den i hu...
Hvilket indikerer at mandag er første dag i ugen...

;>)

Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.



Bertel Lund Hansen (28-05-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-05-08 09:13

Birger skrev:

> Der foresvæver noget om at hviledagen er den 7. og at vi skal huske at komme
> den i hu...

Nemlig. Den bibelske gud skabte jorden på seks dage og hvilede på
den syvende.

> Hvilket indikerer at mandag er første dag i ugen...

Jeps. Det stemmer også med min fornemmelse.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Arne Feldborg (28-05-2008)
Kommentar
Fra : Arne Feldborg


Dato : 28-05-08 09:41

Bertel Lund Hansen <unospamo@lundhansen.dk> skrev Wed, 28 May 2008
10:12:30 +0200

>Birger skrev:
>
>> Der foresvæver noget om at hviledagen er den 7. og at vi skal huske at komme
>> den i hu...
>
>Nemlig. Den bibelske gud skabte jorden på seks dage og hvilede på
>den syvende.
>
Problemet er bare, at det er sabatten (lørdagen) der er den syvende dag
og derfor skal holdes hellig.

Derfor var blev lørdag pr. tradition regnet for den sidste dag i ugen
(hvilket altså også gjalt her i landet indtil 1973).

..

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Arne Feldborg (28-05-2008)
Kommentar
Fra : Arne Feldborg


Dato : 28-05-08 09:33

Stig Johansen <wopr.dk@gmaill.com> skrev Wed, 28 May 2008 07:27:51 +0200

>Det foresvæver mig, at vi i folkeskolen (slut 60'ern) fik at vide at den
>første dag i ugen var søndag.
>
Det gjalt her i landet indtil 1 januar 1973.

Efter den tid er mandag første dag i ugen (jvnfr. ISO 8601).

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Dennis Munding (28-05-2008)
Kommentar
Fra : Dennis Munding


Dato : 28-05-08 13:32

Hej Bertel!

"Bertel Lund Hansen" skrev:
> Ja. Jeg efterlod se ekstra linjer for at tydeliggøre for dig hvad
> der foregår.

Ok! Helt iorden..

>> da jeg både ønsker at ugedagene begynder med stort bogstav (se hvorfor
>> på siden jeg linker til længere nede...)
>
> Det fremgår ikke af siden. Efter dansk standard skriver vi
> ugedage og månedsnavne med småt.

Jo!
Det er jeg klar over... Men!

> Hvis du ville skrive ugedagen alene (uden "Ugedag: "), kunne jeg
> bedre forstå at du ville starte med stort. Men dig om det.

Det er netop tegnet efter "Ugedag", der er det vigtige her - et kolon (:)!
Da jeg gik i skole (ikke så mange år siden!), lærte jeg, at man skal begynde
med stort bogstav efter kolon, men ikke semikolon!
Det troede jeg også, at man lærte i gamle dage...?? ;-p


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Bertel Lund Hansen (28-05-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-05-08 13:40

Dennis Munding skrev:

> Det er netop tegnet efter "Ugedag", der er det vigtige her - et kolon (:)!

Okay.

> Da jeg gik i skole (ikke så mange år siden!), lærte jeg, at man skal begynde
> med stort bogstav efter kolon, men ikke semikolon!

Ja, det var korrekt dengang.

> Det troede jeg også, at man lærte i gamle dage...?? ;-p

Det gjorde man. Det lærer man ikke i dag. Standarden er nu at
hvis der følger en hel sætning efter kolon, skal man begynde med
stort, og ellers med småt.

Men man kan dog godt argumentere for at almindelige skriveregler
ikke helt gælder når man laver design. Bogtitler er f.eks. ganske
ofte splittede uden bindestreg.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Philip Nunnegaard (25-05-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 25-05-08 18:38

"Dennis Munding" <mail@invalid.dk> skrev i meddelelsen
news:483901d5$0$27368$ba624c82@nntp06.dk.telia.net...

> Scriptet kan beskues på flg. adr.:
> http://pastebin.com/m4cb763b (Det er linjerne 44-61, som volder kvaler...)

Nu hvor du har fået løst dit problem tillader jeg mig at indsparke en ting
mere.

Det forekommer mig at du sidder manuelt og indtaster datoerne for helligdage
år efter år.
Det kan klares nemmere (i hvert fald så det virker frem til 2037).

echo date('d-m-Y', easter_date(2008));
- Returnerer "23-03-2008".

De øvrige skæve helligdage er jo afhængige af denne ene dato, så her er det
bare at lægge et bestemt antal dage til eller fra via mktime().

echo date('d-m-Y', mktime(0,0,0,date('m',easter_date(2008)), date('d',
easter_date(2008) + 26, 2008)));

Dette skulle returnere "18-04-2008" (store bededag, der jo ligger 26 dage
efter påskedag). Egentlig siger den 49. marts 2008, hvilket mktime() selv
regner om til 18. april.

easter_date:
http://dk2.php.net/manual/en/function.easter-date.php

mktime:
http://dk2.php.net/manual/en/function.mktime.php


Dennis Munding (25-05-2008)
Kommentar
Fra : Dennis Munding


Dato : 25-05-08 19:42

Hej Philip!

"Philip Nunnegaard" skrev:
> Nu hvor du har fået løst dit problem tillader jeg mig at indsparke en ting
> mere.

Det siger jeg aldrig "nej tak" til...

> Det forekommer mig at du sidder manuelt og indtaster datoerne for
> helligdage år efter år.

Det er korrekt antaget...

> Det kan klares nemmere (i hvert fald så det virker frem til 2037).

Fortæl, fortæl!

Eller længere, hvis man bruger funktionen "easter_days()" (fandt det efter,
jeg havde læst dit indlæg...):
http://dk2.php.net/manual/en/function.easter-days.php


> echo date('d-m-Y', easter_date(2008));
> - Returnerer "23-03-2008".
>
> De øvrige skæve helligdage er jo afhængige af denne ene dato, så her er
> det bare at lægge et bestemt antal dage til eller fra via mktime().
>
> echo date('d-m-Y', mktime(0,0,0,date('m',easter_date(2008)), date('d',
> easter_date(2008) + 26, 2008)));
>
> Dette skulle returnere "18-04-2008" (store bededag, der jo ligger 26 dage
> efter påskedag). Egentlig siger den 49. marts 2008, hvilket mktime() selv
> regner om til 18. april.
>
> easter_date:
> http://dk2.php.net/manual/en/function.easter-date.php
>
> mktime:
> http://dk2.php.net/manual/en/function.mktime.php

Absolut brugbart materiale!
Mange tak for dit indspark - det gav mig noget mere at arbejde med!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


Dennis Munding (25-05-2008)
Kommentar
Fra : Dennis Munding


Dato : 25-05-08 20:59

Hej Philip!
"Philip Nunnegaard" skrev:
> echo date('d-m-Y', easter_date(2008));
> - Returnerer "23-03-2008".
>
> De øvrige skæve helligdage er jo afhængige af denne ene dato, så her er
> det bare at lægge et bestemt antal dage til eller fra via mktime().
>
> echo date('d-m-Y', mktime(0,0,0,date('m',easter_date(2008)), date('d',
> easter_date(2008) + 26, 2008)));

Med lidt modificering så det er automatiseret (man er vel en doven
hund!(-:), så kommer mit array til at se sådan ud (hvis nogen skulle få brug
for det...):

$helligdag = array (
date('Ymd', mktime(0,0,0,date('m',1),date('d',1),date('Y'))), // 1.
Nytårsdag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))-3,date('Y'))),
// Skærtorsdag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))-2,date('Y'))),
// Langfredag
date('Ymd', easter_date(date('Y'))), // Påskedag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))+1,date('Y'))),
// 2. Påskedag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))+26,date('Y'))),
// St. Bededag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))+39,date('Y'))),
// Kristi Himmelfartsdag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))+49,date('Y'))),
// Pinsedag
date('Ymd',
mktime(0,0,0,date('m',easter_date(date('Y'))),date('d',easter_date(date('Y')))+50,date('Y'))),
// 2. Pinsedag
date('Ymd', mktime(0,0,0,date('m',12),date('d',25),date('Y'))), // 1.
Juledag
date('Ymd', mktime(0,0,0,date('m',12),date('d',26),date('Y'))), // 2.
Juledag
);

> Dette skulle returnere "18-04-2008" (store bededag, der jo ligger 26 dage
> efter påskedag). Egentlig siger den 49. marts 2008, hvilket mktime() selv
> regner om til 18. april.

Det gjorde det så ikke - der må ikke være mellemrum mellem ')' og '+' og
mellem '+' og '26' - hos mig...
Men ellers virkede det fint!

Endnu en gang tusind tak for hjælpen!!


Med venlig hilsen
--
Dennis Munding
http://as-transport.dk/ -Sikker møbeltransport til tiden!
http://pe-vagtservice.dk/ -Når du vil passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! Ganske enkelt...


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

Månedens bedste
Årets bedste
Sidste års bedste