如何使用 datetime2 仅显示年份和月份?

如何使用 datetime2 仅显示年份和月份?

使用\DTMdisplaydate{yyyy}{mm}{dd}{w}中提供的datetime2,可以轻松显示特定日期。但是,不能直接使用它来仅显示年份和月份,因为第三个参数不能留空。应该如何显示这样的时间2022-01?(此处启用了该选项useregional,因此日期应以所选语言的文本字符串显示)

以下是 MWE:

\documentclass{article}

\usepackage[ngerman,french,english]{babel}
\usepackage[useregional]{datetime2}

\begin{document}

\selectlanguage{french}

\DTMdate{2022-01-01}

\DTMdisplaydate{2022}{01}{01}{-1}

% \DTMdisplaydate{2022}{01}{}{-1}

\end{document}

答案1

对于所使用的每种语言,都有一个布尔变量showdayofmonth可以设置为 false。

\DTMdefboolkey{french}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\DTMdefboolkey{german}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<  
\DTMdefboolkey{en-GB}{showdayofmonth}[false]{}  % <<<<<<<<<<<<<<<<

A

\documentclass{article}

\usepackage[german,french,british]{babel}
\usepackage[useregional]{datetime2}

\parindent0pt
\begin{document}
    \section{Default display}
            
    \selectlanguage{british}
    
    \DTMdate{2022-02-03}
    
    \bigskip
    
    \selectlanguage{french}
            
    \DTMdate{2022-02-03}
    
    \bigskip    
    
    \selectlanguage{german}
    
    \DTMdate{2022-02-03}
    
    \bigskip 
    
    \section{Suppress the display of the day}
    
    \DTMdefboolkey{french}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
    \DTMdefboolkey{german}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<  
    \DTMdefboolkey{en-GB}{showdayofmonth}[false]{}  % <<<<<<<<<<<<<<<<
    
    \selectlanguage{british}
    
    \DTMdate{2022-02-03}    
    
    \bigskip
    
    \selectlanguage{french}
    
    \DTMdate{2022-02-03}
    
    \bigskip    
    
    \selectlanguage{german}
    
    \DTMdate{2022-02-03}
    
\end{document}

相关内容