blob: 5c2d610320885c92df6348879606ba6d62b5e9cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Wochentag zu einem Datum ermitteln %
% von Andreas Schrell %
% Windhoevel 2 %
% 5600 Wuppertal 2 %
% Tel. 0202/666889 %
% E-Mail: ma107 at dhafeu11.bitnet %
% Version 1.0 vom 9.10.1991 %
% %
% Aufruf: %
% \Wochentag dd.mm.jjjj. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{\catcode`\@=11
\newcount\@tag
\newcount\@monat
\newcount\@jahr
\newcount\@ja
\newcount\@jb
\newcount\@ha
\newcount\@hb
\newcount\@hc
\newcount\@b
\newcount\@f
\gdef\Wochentag #1.#2.#3.{\@tag=#1\@monat=#2\@jahr=#3
\ifnum\@jahr<100\advance\@jahr by 1900\else\fi
\ifnum\@monat<3 % if monat<3
\advance\@monat by 10 % monat:=monat+10
\advance\@jahr by -1 % jahr:=jahr-1
\else % else
\advance\@monat by -2 % monat:=monat-2
\fi % fi
\@ja=\@jahr\divide\@ja by 100 % ja:=jahr/100
\@jb=-\@ja\multiply\@jb by 100
\advance \@jb by \@jahr % jb:=jahr-ja*100
\@ha=\@monat\multiply\@ha by 13
\advance\@ha by -1 % ha:=13*monat-1
\divide\@ha by 5 % ha:=ha/5
\@hb=\@jb\divide\@hb by 4 % hb:=jb/4
\@hc=\@ja\divide\@hc by 4 % hc:=ja/4
\@b=\@ha\advance\@b by \@hb
\advance\@b by \@hc % b:=ha+hb+hc
\@f=\@b\advance\@f by \@jb
\advance\@f by \@tag % f:=b+jb+tag
\multiply \@ja by 2
\advance\@f by -\@ja % f:=f-2*ja
\@ha=\@f
\divide\@ha by 7
\multiply\@ha by 7
\advance\@f by -\@ha % f:= f mod 7
\ifcase\@f Sonntag\or Montag\or Dienstag\or Mittwoch\or Donnerstag\or
Freitag\or Samstag\else ????????\fi}
}
|