在 datetime2 中使用区域设置时更改日期样式

在 datetime2 中使用区域设置时更改日期样式

useregional当我使用以给定语言显示日期的选项时,我似乎无法更改 datetime2 的设置babel

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[useregional]{datetime2}
%
\DTMnewdatestyle{mydatestyle}{
  \renewcommand*{\DTMdisplaydate}[4]{##3 \DTMmonthname{##2}}
  \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}
}
\DTMsetdatestyle{mydatestyle}
% -------------------
\begin{document}
\today
\end{document}

我希望输出为08 settembre,8 前面有前导零,不带年份,但我仍然得到默认的8 settembre 2019

我究竟做错了什么?

答案1

嗯,您的代码中的主要问题如下:

  1. 您需要使用calc选项datetime2
  2. 使用useregional=text选项datetime2
  3. 移动命令\DTMsetdatestyle{mydatestyle}至 之后\begin{document}
  4. 使用命令\DTMtwodigits{##3}获取前导零......

请参阅以下 MWE

\documentclass[italian]{article}

\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[%
  useregional=text, % <=================================================
  calc % <==============================================================
]{datetime2}

\DTMnewdatestyle{mydatestyle}{%
  \renewcommand*{\DTMdisplaydate}[4]{\DTMtwodigits{##3} \DTMmonthname{##2}} % <============ year month day dow
  \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}
}


\begin{document}

\DTMsetdatestyle{mydatestyle} % <=======================================
\today

\end{document}

及其结果:

结果日期

相关内容