summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/misc/wochtag.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/misc/wochtag.tex')
-rw-r--r--macros/plain/contrib/misc/wochtag.tex54
1 files changed, 54 insertions, 0 deletions
diff --git a/macros/plain/contrib/misc/wochtag.tex b/macros/plain/contrib/misc/wochtag.tex
new file mode 100644
index 0000000000..5c2d610320
--- /dev/null
+++ b/macros/plain/contrib/misc/wochtag.tex
@@ -0,0 +1,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}
+}
+