Hi, ich möchte in Latex berechnen wie viele Monate seit einem bestimmten Datum z.B. 2 (Februar) 2015 bis zum aktuellen Datum vergangen sind und die Anzahl der Monate dann in Latex ausgeben, also 11+12+8=31 (für 16. Sept. 2017 als aktuelles Datum) die 31 dann im fertigen Dokument automatisch stehen haben. Habe schon gesucht, aber nichts gefunden. Kann mir jemand helfen? gefragt 16 Sep '17, 13:36 x545 |
So schwer ist die Berechnung eigentlich nicht. Man muss ja nur die Jahre voneinander abziehen und mit 12 multiplizieren und die Monate voneinander abziehen. Außerdem muss man noch prüfen, ob zwischen dem Starttag und dem Endtag überhaupt ein voller Monat liegt und zwischen dem Startmonat und dem Endmonat ein volles Jahr: Öffne in Overleaf
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{scrbase} \makeatletter \newcommand*{\monthdist}[2]{% \begingroup \splitisodate{#1}\relax \@tempcnta\year \@tempcntb\month \count@=\day \splitisodate{#2}\relax \ifnum \@tempcntb>\month \advance\year\m@ne\fi \ifnum \count@>\day \advance\month\m@ne\fi \advance\month-\@tempcntb \advance\year-\@tempcnta \advance\month\numexpr \year*12\relax \the\month \endgroup } \newcommand*{\splitisodate}[1]{\expandafter\@splitisodate#1---\@nil}% \newcommand*{\@splitisodate}{} \def\@splitisodate#1-#2-#3-#4\@nil{% \IfArgIsEmpty{#1}{\year=0}{\year=#1}% \IfArgIsEmpty{#2}{\month=1}{\month=#2}% \IfArgIsEmpty{#3}{\day=1}{\day=#3}% } \makeatother \newcommand*{\monthtillnow}[1]{% \begingroup \edef\isotoday{\the\year-\the\month-\the\day}% \monthdist{2015-2}{\isotoday}% \endgroup } \begin{document} \begin{tabular}{llr} Von & Bis & Monate \\ \hline 10. Februar 2017 & 11. Februar 2017 & \monthdist{2017-2-10}{2017-2-11} \\ 10. Februar 2017 & 11. März 2017 & \monthdist{2017-2-10}{2017-3-11} \\ 11. Februar 2016 & 10. Februar 2017 & \monthdist{2016-2-11}{2017-2-10} \\ Februar 2015 & 16. September 2017 & \monthdist{2015-2}{2017-9-16} \\ Februar 2015 & heute & \monthtillnow{2015-2} \\ \end{tabular} \end{document} Mit der Distanz in Tagen wäre es deutlich schwieriger, weil man dort Schaltjahre berücksichtigen müsste. Das ist bei der Distanz in Monaten aber nicht notwendig. Wie im Beispiel zu sehen, muss bei beantwortet 21 Sep '17, 09:12 gast3 |
Hallo @x545, hilft dir https://tex.stackexchange.com/questions/14518/difference-between-two-dates weiter?
Wenn ja, kann ja jemand versuchen es für hier zu übersetzen.