\DTMsavedate 计算不适用于 \DTMusedate

\DTMsavedate 计算不适用于 \DTMusedate

我想根据之前的日期计算一个新日期\DTMusedate,但是收到了错误\@dtm@parsedate

以下是一个示例:

\documentclass[a4paper]{article}

\usepackage[calc]{datetime2}

\newcommand{\offset}{30}

\DTMsavedate{foo}{2018-01-15}
\DTMsavedate{bar}{\DTMusedate{foo}+\offset}

\begin{document}

This is the first date : \DTMusedate{foo}
This should be the first date + \offset days : \DTMusedate{bar}

\end{document}

答案1

正如手册第 9 节所述datetime2,您必须将日期转换为儒略日,然后添加偏移量:

\documentclass[a4paper]{article}

\usepackage[calc]{datetime2}

\newcommand{\offset}{30}

\DTMsavedate{foo}{2018-01-15}
\newcount\tmp
\DTMsaveddateoffsettojulianday{foo}{\offset}{\tmp}
\DTMsavejulianday{bar}{\tmp}

\begin{document}
This is the first date: \DTMusedate{foo}

This should be the first date + \offset\ days: \DTMusedate{bar}
\end{document}

相关内容