![以 iso 格式给出日期](https://linux22.com/image/336326/%E4%BB%A5%20iso%20%E6%A0%BC%E5%BC%8F%E7%BB%99%E5%87%BA%E6%97%A5%E6%9C%9F.png)
目前,当我使用\date{}
旧文档时,我会输入日期的明确格式。但这是一个问题,因为我会打印两个版本的文档,一个是个人版本(格式为),另一个是使用默认设置的公共版本。
所以,我只想以 ISO 格式(YYYY-MM-DD)提供日期,并且根据全局设置,文档中的所有日期都必须遵循一种格式。
因此,我问是否有一种\displaydate
命令可以以 ISO 格式的日期作为参数并根据全局设置显示它。
那么有这样的包吗?
答案1
使用datetime2
您可以在其中定义日期样式并通过以下方式在文档内(或全局)交换它们\DTMsetdatestyle{<style>}
:
\documentclass{article}
\usepackage[english]{datetime2}
\DTMnewdatestyle{dashdate}{%
\renewcommand{\DTMdisplaydate}[4]{\number##1-\DTMenglishshortmonthname{##2}-\number##3}%
\renewcommand{\DTMDisplaydate}{\DTMdisplaydate}%
}
\begin{document}
\DTMsetdatestyle{iso}
\today% ...or \DTMtoday
\DTMsetdatestyle{dashdate}
\today% ...or \DTMtoday
\DTMdisplaydate{2015}{1}{1}{-1}% Ignore Day-Of-Week
\end{document}
\DTMdisplaydate{<year>}{<month>}{<day>}{<dow>}
将以当前样式显示硬编码日期。