/ 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
helligdage
Fra : Leonard


Dato : 11-12-04 22:11

Findes der en funktion der kender helligdagene?

--
med venlig hilsen
Leonard - http://leonard.dk/

 
 
Harald (11-12-2004)
Kommentar
Fra : Harald


Dato : 11-12-04 23:01

"Leonard" <nospam@invalid.invalid> skrev i en meddelelse
news:3homr0d2469p4u5fd7k0ual6vrg1kl5qsg@4ax.com...
> Findes der en funktion der kender helligdagene?

Jeg fandt engang en skrevet i C som jeg så konverterede til Pascal, så kan
du evt. selv konvertere den til php hvis du ikke finder andet.

Mvh
HK



Johan Holst Nielsen (13-12-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 13-12-04 02:26

Leonard wrote:
> Findes der en funktion der kender helligdagene?

På hvilken måde? Jeg skulle bruge de variable danske helligdage i et
bestemt år - så lavede et sådan script (bemærk - den outputter de
helligdage som skifter dato fra år til år - ikke grundlovsdag osv. som
har faste datoer - det burde være nemme at finde i en kalender.).

<?php
$oneDay = 86400;
$year = 2004;
echo '<h1>'.$year.'</h1>';
$easter = easter_date($year);

echo 'Fastelavn: '.date('d-m-Y',($easter-(49*$oneDay))).'<br>';
echo 'Palmesøndag: '.date('d-m-Y',($easter-(7*$oneDay))).'<br>';
echo 'Skærtorsdag: '.date('d-m-Y',($easter-(3*$oneDay))).'<br>';
echo 'Langfredag: '.date('d-m-Y',($easter-(2*$oneDay))).'<br>';
echo 'Påskedag: '.date('d-m-Y',($easter-(0*$oneDay))).'<br>';
echo '2. påskedag: '.date('d-m-Y',($easter+(1*$oneDay))).'<br>';
echo 'Store bededag: '.date('d-m-Y',($easter+(26*$oneDay))).'<br>';
echo 'Kristi Himmelfartsdag: '.date('d-m-Y',($easter+(39*$oneDay))).'<br>';
echo 'Pinsedag: '.date('d-m-Y',($easter+(49*$oneDay))).'<br>';
echo '2. pinsedag: '.date('d-m-Y',($easter+(50*$oneDay))).'<br>';
$MumsDay = 0;
for($i2=1;$i2<=16;$i2++) {
if(date("D",mktime(0,0,0,5,$i2,$year))=='Sun') {
if($MumsDay == 1) {
echo 'Mors dag: '.date("d-m-Y",mktime(0,0,0,5,$i2,$year)).'<br>';
break;
}
$MumsDay++;
}
}

/* Summertime start */
for($i2=31;$i2>=10;$i2--) {
if(date("D",mktime(0,0,0,3,$i2,$year))=='Sun') {
echo 'Sommertid Start: '.date("d-m-Y",mktime(0,0,0,3,$i2,$year)).'<br>';
break;
}
}

/* Summertime slut */
for($i2=31;$i2>=10;$i2--) {
if(date("D",mktime(0,0,0,10,$i2,$year))=='Sun') {
echo 'Sommertid Start:'.date("d-m-Y",mktime(0,0,0,10,$i2,$year)).'<br>';
break;
}
}

/* Advent */
for($i2=24;$i2>=15;$i2--) {
if(date("D",mktime(0,0,0,12,$i2,$year))=='Sun') {
echo '1. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2-21),$year)).'<br>';
echo '2. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2-14),$year)).'<br>';
echo '3. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2-7),$year)).'<br>';
echo '4. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2,$year)).'<br>';
break;
}
}
?>


Det er ikke optimeret på nogen måde - jeg skulle bare have output en
enkelt gang - så hvis det skal ind i en kalender applikation kan du
eventuelt optimere den en smule nogle steder :)

Men håber anyway det hjælper dig lidt på vej... :)

mvh
Johan

Jimmy (13-12-2004)
Kommentar
Fra : Jimmy


Dato : 13-12-04 08:44


"Johan Holst Nielsen" <spam@phpgeek.dk> wrote in message
news:41bcf042$0$60822$edfadb0f@dread14.news.tele.dk...

> /* Advent */
> for($i2=24;$i2>=15;$i2--) {
> if(date("D",mktime(0,0,0,12,$i2,$year))=='Sun') {
> echo '1. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2-21),$year)).'<br>';
> echo '2. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2-14),$year)).'<br>';
> echo '3. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2-7),$year)).'<br>';
> echo '4. advent:'.date("d-m-Y",mktime(0,0,0,12,$i2,$year)).'<br>';
> break;
> }
> }
> ?>

Der skal lige et par paranteser ind her:

echo '1. advent:'.date("d-m-Y",mktime(0,0,0,12,($i2-21),$year)).'<br>';
echo '2. advent:'.date("d-m-Y",mktime(0,0,0,12,($i2-14),$year)).'<br>';
echo '3. advent:'.date("d-m-Y",mktime(0,0,0,12,($i2-7),$year)).'<br>';

Men det er da et fedt script! Lækkert at nogen har lavet den slags, som
tager laaaang tid at lave.

Mvh
Jimmy



Ulrik Nielsen (13-12-2004)
Kommentar
Fra : Ulrik Nielsen


Dato : 13-12-04 09:25

Johan Holst Nielsen wrote:
> Leonard wrote:
>
>> Findes der en funktion der kender helligdagene?

[cut]

> Det er ikke optimeret på nogen måde - jeg skulle bare have output en
> enkelt gang - så hvis det skal ind i en kalender applikation kan du
> eventuelt optimere den en smule nogle steder :)

cool, denne havde jeg selv været på jagt efter.
- skal nok lige poste det når jeg en dag får tid til at lave en "pæn"
version :)


--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Sysadmins busy fighting SPAM.
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Arne Feldborg (13-12-2004)
Kommentar
Fra : Arne Feldborg


Dato : 13-12-04 19:04

Ulrik Nielsen <un.spam@tiscali.dk> skrev Mon, 13 Dec 2004 09:25:28 +0100


>cool, denne havde jeg selv været på jagt efter.
>- skal nok lige poste det når jeg en dag får tid til at lave en "pæn"
>
Påskedag for datoer før 1970 og efter 2037 finder du sådanne:

<?php
$year = '1845';

$cal_change = 1700; // Kalenderskiftet i Danmark 18 feb 1700

if ($year >= $cal_change) {
   echo '<br>'.jdtogregorian(gregoriantojd (3, 21, $year) +
easter_days($year,CAL_EASTER_ROMAN));
}else{
   echo '<br>'.jdtogregorian(gregoriantojd (3, 21, $year) +
easter_days($year));
}
exit;
?>

Bemærk at $cal_change skal være 1582 eller 1583 for de fleste katolske
lande og 1752 for de fleste engelsktalende lande, men at der iøvrigt er
store variationer fra land til land.


--
mvh, A:\Feldborg

Folketællinger Hammerum og Bølling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Leonard (13-12-2004)
Kommentar
Fra : Leonard


Dato : 13-12-04 21:49

Johan Holst Nielsen <spam@phpgeek.dk> wrote:

>Men håber anyway det hjælper dig lidt på vej... :)

Ja tak, det hjalp gevaldigt og med lidt retten til og en omskrivning
af fastelavn, så tror jeg den er der.

--
med venlig hilsen
Leonard - http://leonard.dk/

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

Månedens bedste
Årets bedste
Sidste års bedste