查找一周中的每个周末:\advdate、\datetime

查找一周中的每个周末:\advdate、\datetime

我正在创建自己的日历。这意味着我的日历中的每一页都预留了一天:dd.mm.yyy(星期几)

通过 foreach 循环我改变当前日期:

\usepackage{advdate}
\usepackage{datetime} 



\foreach \days in {1, 3, 5, ..., 365} 
{
\AdvanceDate[\days]
...
     \AdvanceDate[\days].
     \DrawDateLeftSite{\today}
    \DrawDateRightSite{\AdvanceDate[1]\today}
.....
}

我现在想知道某个日期是否是周末。如果是的话,我想在页面上写下周末:dd.mm.yyy / dd.mm.yyy(星期六 / 星期日)

\usepackage{advdate}
\usepackage{datetime} 


\foreach \days in {1, 3, 5, ..., 365} 
{
...
     \AdvanceDate[\days].

    % if(weekend)
    % DrawWeekend{\today, \AdvanceDate[1]\today}

     \DrawDateLeftSite{\today}
    \DrawDateRightSite{\AdvanceDate[1]\today}
.....
}

我希望你能帮助我,并提前谢谢你。

答案1

我不知道,datetime但这个测试肯定是可行的pgfcalendaradvdate为此,您只需添加\days到当前日期\year-\month-\day并测试该日期weekend

副作用是,该天的星期几可在 中找到\pgfcalendarifdateweekday

代码

\documentclass{article}
\usepackage{pgffor, pgfcalendar}
\begin{document}
\foreach \days in {1, 3, 5, ..., 365}{%
  \days\ days after \today\ is%
  \pgfcalendarifdate
    {\year-\month-\day+\days}
    {weekend}
    {}
    { \textbf{not}}
  a weekend because it's a
  \pgfcalendarweekdayname{\pgfcalendarifdateweekday}.
  \par}
\end{document}

输出

在此处输入图片描述

相关内容