日期计算

日期计算

我正在构建一个 LaTeX 文档,帮助我为客户制定报价。由于我决定提供每月定期付款,因此我希望自动从特定日期开始计算付款日期。例如,假设您有:

\today{}

那么我需要:

  • \today+30 天
  • \today+60天
  • \today+180 天

等等...

那可能吗?

编辑:我最终使用了该包,advdate因为我获得了更紧凑的结果:

% Payment starts in 4 months.
\AdvMonth{4}

% 1 chunk per month -> due date:
\begin{enumerate*}
    \AdvMonth{1} \item due date: \textbf{\today}
        ...
\end{enumerate*}

答案1

查看日期包裹。

编辑六年后,我终于有时间添加一个例子。它实现了软件包中说明的功能。

\AdvanceDate将日期提前指定的天数 [方括号中的参数,默认为 1] 并将结果设置为\today

有两点需要注意:

  • 例如,要提前 30 天,语法是\AdvanceDate[30]

  • 该包有效地用作\today变量。这意味着如果您要记录相对于今天的几个日期,则需要逐步推进。如果您想要 30 天,然后是 60 天,则需要调用\AdvanceDate[30]两次。

  • 当然,TeX 的作用域规则仍然有效。因此,如果您\today在一个组中前进,则更改将在组结束时结束。因此,如果您制作一个表格,则每个单元格末尾的增量都会被遗忘。

这是一个示例文档,显示了这两者:

\documentclass{article}
\usepackage{advdate}
\begin{document}
Today is: \today

Tomorrow is: \DayAfter

30 days from today is \AdvanceDate[30]\today.

60 days from today is \AdvanceDate[30]\today.

180 days from today is \AdvanceDate[120]\today.
\AdvanceDate[-180]
\bigskip

\begin{tabular}{|cc|}\hline
    Relative description & Date \\\hline
    today & \today \\
    tomorrow & \DayAfter \\
    30 days from today & \AdvanceDate[30]\today\\
    60 days from today & \AdvanceDate[60]\today\\
    180 days from today & \AdvanceDate[180]\today\\\hline
\end{tabular}
\end{document}

mwe 输出

答案2

这是可能的日期编号包裹

\documentclass{article}
\usepackage{datenumber}

\begin{document}

\setdatetoday
\addtocounter{datenumber}{30}%
\setdatebynumber{\thedatenumber}%
In 30 days is \datedate

\setdatetoday
\addtocounter{datenumber}{60}%
\setdatebynumber{\thedatenumber}%
In 60 days is \datedate

\setdatetoday
\addtocounter{datenumber}{90}%
\setdatebynumber{\thedatenumber}%
In 90 days is \datedate

\end{document}

其结果是:

在此处输入图片描述

答案3

这是可能的datetime2包裹:

\documentclass[italian]{article}
\usepackage[calc,useregional]{datetime2}
\newcount\myct
\newcount\datecount
\newcommand{\myday}[1]{%
    \DTMsavenow{mydate}
    \DTMsaveddateoffsettojulianday{mydate}{#1}{\myct}
    \DTMsavejulianday{mydate}{\number\myct}
    \DTMusedate{mydate}
}

\begin{document}

\today~ is the day

In 10 days is  \myday{10}

In 30 days is  \myday{30}

In 90 days is  \myday{90}


\end{document}

相关内容