我目前正在使用
\usepackage[UKenglish]{babel}
\usepackage{datetime}
我得到 2016 年 9 月 4 日星期日
使用命令\today
或使用\newdate{example}{01}{09}{2016}
(在文档之外\begin{document}
)和\displaydate{example}
在文档内部。
我如何重新格式化此日期以使其不包含星期几的名称(最好使用 datetime2)?例如 2016 年 9 月 4 日。将“th”作为高位字母,如下所示:
完整文档示例:
\documentclass[a4paper, 12pt, DIV=calc, headings=small]{scrreprt}
%Used packages
\usepackage[UKenglish]{babel}
\usepackage[utf8]{luainputenc}
\usepackage{datetime}
%Other definitions
\pagenumbering{arabic}
\newdate{sample}{31}{01}{2017}
\begin{document}
\displaydate{sample}\\
\today
\end{document}
答案1
既然您要求datetime2
解决方案:
\documentclass{article}
\usepackage[UKenglish]{babel}
\usepackage[useregional]{datetime2}
\DTMlangsetup[en-GB]{ord=raise,monthyearsep={,\space}}
\DTMsavedate{sample}{2017-01-31}
\begin{document}
\DTMusedate{sample}
\today
\end{document}
生产
需要datetime2
(基本代码)和datetime2-english
(为了en-GB
风格)。
答案2
日期的名称是用宏定义的\dayofweekname
,你可以简单地用以下方法停用它\renewcommand{\dayofweekname}[3]{\relax}
代码
\documentclass[a4paper, 12pt, DIV=calc, headings=small]{scrreprt}
%Used packages
\usepackage[UKenglish]{babel}
\usepackage[utf8]{luainputenc}
\usepackage{datetime}
%Other definitions
\pagenumbering{arabic}
\newdate{sample}{31}{01}{2017}
\renewcommand{\dayofweekname}[3]{\relax}
\begin{document}
\displaydate{sample}\\
\today
\end{document}
输出