diff options
Diffstat (limited to 'macros/plain/contrib/misc/wochtag.tex')
-rw-r--r-- | macros/plain/contrib/misc/wochtag.tex | 54 |
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} +} + |