我想从年份中获取一年中第一周的星期一的日期,
目的是制作一个周计划器,我在每一页上放一个星期,因为大多数年份的第一周的星期一是在去年,所以我必须计算那个日期,
我已经考虑过用\ifdate{Monday}....
很多 if 来得到一个“愚蠢”的解决方案,但我想要一个“高效”的解决方案,但不知何故我不能很好地进入乳胶,我仍然不明白这种语言中使用了什么结构以及整个事情是如何工作的,因为它非常抽象
答案1
pgfcalendar
有方法可以计算给定日期的星期几。以下使用它来定义\MondaysDateIs
为给定的一年中第一周星期一的日期\GetMondaysDate
:
\documentclass[]{article}
\usepackage{pgfkeys}
\usepackage{pgfcalendar}
\newcount\FirstDayCount
\newcount\YearCount
\newcommand\GetMondaysDate[1]
{%
\pgfcalendardatetojulian{#1-01-01}\FirstDayCount
\pgfcalendarjuliantoweekday{\FirstDayCount}\FirstDayCount
\YearCount=#1
\advance\YearCount-1
\ifcase\FirstDayCount
\def\MondaysDateIs{#1-01-01}%
\or % 1
\edef\MondaysDateIs{\the\YearCount -12-31}%
\or % 2
\edef\MondaysDateIs{\the\YearCount -12-30}%
\or % 3
\edef\MondaysDateIs{\the\YearCount -12-29}%
\or % 4
\edef\MondaysDateIs{\the\YearCount -12-28}%
\or % 5
\edef\MondaysDateIs{\the\YearCount -12-27}%
\or % 6
\edef\MondaysDateIs{\the\YearCount -12-26}%
\fi
}
\begin{document}
\GetMondaysDate{2019}
\MondaysDateIs
\end{document}