Dirigerad från högtider
Sök på högtider
Röda dagar

Januari
- Nyårsdagen
- Trettondedag jul
Februari
Mars
April
- Långfredag
- Påskdagen
- Annandag påsk
Maj
- Valborg - Första maj
- Kristi himmelsfärdsdag

Juni
- Sveriges nationaldag
- Pingstdagen?
- Midsommardagen
Juli
Augusti
September
Oktober
November
- Alla helgons dag
December
- Juldagen
- Annandag jul
Färger
Liknande
Motsats
- Vardagar
Tjänster

Länkar
Kuriosa


Funktion för Pascal
//fpc 3.0.4
//program HelloWorld;
Uses sysutils;
var
year, A,B,C,D,E,F,G,H,I,J,K,L,M,N: Integer;
paskdagen, midsomdag, allahelgo: TDateTime;
Begin
ShortDateFormat := 'yyyy-mm-dd';
year := 2020;
A := year MOD 19;
B := Trunc(year/100);
C := year MOD 100;
D := Trunc(B/4);
E := B MOD 4;
F := Trunc((B+8)/25);
G := Trunc((B-F+1)/3);
H := (19*A+B-D-G+15) MOD 30;
I := Trunc(C/4);
J := C MOD 4;
K := (32+2*E+2*I-H-J) MOD 7;
L := Trunc((A+11*H+22*K)/451);
M := Trunc((H+K-7*L+114)/31);
N := (H+K-7*L+114) MOD 31;
paskdagen := StrToDate(IntToStr(year) + '-0' + IntToStr(M) + '-0' + IntToStr(Trunc(N+1)));
midsomdag := StrToDate(IntToStr(year) + '-06-20');
allahelgo := StrToDate(IntToStr(year) + '-10-31');
If DayOfWeek(midsomdag) <> 7 Then
Repeat
midsomdag := midsomdag + 1;
Until DayOfWeek(midsomdag) = 7;
If DayOfWeek(allahelgo) <> 7 Then
Repeat
allahelgo := allahelgo + 1;
Until DayOfWeek(allahelgo) = 7;
writeln(IntToStr(year) +'-01-01'); // Nyårsdagen
writeln(IntToStr(year) +'-01-06'); // Trettondagen
writeln(DateToStr(paskdagen - 2)); // Långfredag
writeln(DateToStr(paskdagen)); // Påskdagen
writeln(DateToStr(paskdagen + 1)); // Annandag påsk
writeln(IntToStr(year) + '-05-01'); // Första maj
writeln(DateToStr(paskdagen + 39)); // Kristi himmelfärdsdag
writeln(DateToStr(paskdagen + 49)); // Pingstdagen
writeln(DateToStr(paskdagen + 50)); // Annandag pingst
writeln(IntToStr(year) + '-06-06'); // Sveriges nationaldag
writeln(DateToStr(midsomdag - 1)); // Midsommarafton
writeln(DateToStr(midsomdag)); // Midsommardagen
writeln(DateToStr(allahelgo)); // Alla helgons dag
writeln(IntToStr(year) + '-12-24'); // Julafton
writeln(IntToStr(year) + '-12-25'); // Juldagen
writeln(IntToStr(year) + '-12-26'); // Annandag jul
End.
Funktion för PHP
<?php
function red_days($year) {
$A = $year % 19;
$B = round($year/100);
$C = $year % 100;
$D = round($B/4);
$E = $B % 4;
$F = round(($B+8)/25);
$G = round(($B-$F+1)/3);
$H = (19*$A+$B-$D-$G+15) % 30;
$I = round($C/4);
$J = $C % 4;
$K = (32+2*$E+2*$I-$H-$J) % 7;
$L = round(($A+11*$H+22*$K)/451);
$M = round(($H+$K-7*$L+114)/31);
$N = ($H+$K-7*$L+114) % 31;
$paskdagen = $year . '-' . date('m', $M) . '-' . date('d', round($N+1));
$midsomdag = strtotime($year . '-06-20');
$allahelgo = strtotime($year . '-10-31');
if (date('N', $midsomdag) < 7) {
while (date('N', $midsomdag) < 7) {
$midsomdag++;
}
}
if (date('N', $allahelgo) < 7) {
while (date('N', $allahelgo) < 7) {
$allahelgo++;
}
}
$red['Nyårsdagen'] = $year . '-01-01';
$red['Trettondagen'] = $year . '-01-06';
$red['Långfredag'] = date('Y-m-d', strtotime($paskdagen . ' - 2 days'));
$red['Påskdagen'] = $paskdagen;
$red['Annandag påsk'] = date('Y-m-d', strtotime($paskdagen . ' + 1 day'));
$red['Första maj'] = $year . '-05-01';
$red['Kristi himmelfärdsdag'] = date('Y-m-d', strtotime($paskdagen . ' + 39 days'));
$red['Pingstdagen'] = date('Y-m-d', strtotime($paskdagen . ' + 49 days'));
$red['Annandag pingst'] = date('Y-m-d', strtotime($paskdagen . '+ 50 days'));
$red['Sveriges nationaldag'] = $year . '-06-06';
$red['Midsommarafton'] = date('Y-m-d', strtotime(date('Y-m-d', $midsomdag) . ' - 1 day'));
$red['Midsommardagen'] = date('Y-m-d', $midsomdag);
$red['Alla helgons dag'] = date('Y-m-d', $allahelgo);
$red['Julafton'] = $year . '-12-24';
$red['Juldagen'] = $year . '-12-25';
$red['Annandag jul'] = $year . '-12-26';
return $red;
}
echo '' . print_r(red_days(2020), 1) . '
';
Funktion för Javascript
function red_days(year) {
A = year % 19;
B = Math.round(year/100);
C = year % 100;
D = Math.round(B/4);
E = B % 4;
F = Math.round((B+8)/25);
G = Math.round((B-F+1)/3);
H = (19*A+B-D-G+15) % 30;
I = Math.round(C/4);
J = C % 4;
K = (32+2*E+2*I-H-J) % 7;
L = Math.round((A+11*H+22*K)/451);
M = Math.round((H+K-7*L+114)/31);
N = (H+K-7*L+114) % 31;
paskdagen = year + '-' + ('0'+M).slice(-2) + '-' + ('0'+(N+1)).slice(-2);
midsomdag = new Date(year + '-06-20');
allahelgo = new Date(year + '-10-31');
if (new Date(midsomdag).getDay() < 7) {
/*while (new Date(midsomdag).getDay() < 7) {
midsomdag++;
}*/
}
if (new Date(allahelgo).getDay() < 7) {
/*while (new Date(allahelgo).getDay() < 7) {
allahelgo++;
}*/
}
red = {};
red['Nyårsdagen'] = year + '-01-01';
red['Trettondagen'] = year + '-01-06';
red['Långfredag'] = new Date(new Date(paskdagen).valueOf()-(3600*24*2)).toISOString();
red['Påskdagen'] = paskdagen;
red['Annandag påsk'] = new Date(new Date(paskdagen).valueOf()+(3600*24*1)).toISOString();
red['Första maj'] = year + '-05-01';
red['Kristi himmelfärdsdag'] = new Date(new Date(paskdagen).valueOf()+(3600*24*39)).toISOString();
red['Pingstdagen'] = new Date(new Date(paskdagen).valueOf()+(3600*24*49)).toISOString();
red['Annandag pingst'] = new Date(new Date(paskdagen).valueOf()+(3600*24*50)).toISOString();
red['Sveriges nationaldag'] = year + '-06-06';
red['Midsommarafton'] = new Date(new Date(midsomdag).valueOf()-(3600*24*1)).toISOString();
red['Midsommardagen'] = new Date(midsomdag).toISOString();
red['Alla helgons dag'] = new Date(allahelgo).toISOString();
red['Julafton'] = year + '-12-24';
red['Juldagen'] = year + '-12-25';
red['Annandag jul'] = year + '-12-26';
return red;
}
console.log(JSON.stringify(reddays(2020)));