使用 12 小时制时,datetime
如果时间介于中午 12 点至下午 1 点之间,则会打印“noon”而不是“pm”。这可能是一个错误,而不是设计使然?
如何才能打印出“12.34pm”而不是“12.34 noon”呢?
答案1
我在这里回答我自己的问题,希望其他人会发现这很有用。
答案很简单。只需输入:
\usepackage{datetime}
\renewcommand*{\noon}{\pmname}
答案2
datetime
规避此功能同时将中午显示保留为“中午 12:00”的方法是修补\timeformat@ampmtime
在分钟上添加检查:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\timeformat@ampmtime}
{\value{HOUR}=12} % existent check
{\value{HOUR}=12 \AND \value{MINUTE}=0} % new check
{}{}
\makeatother
如果有人不想要“中午”,而希望中午显示为“12:00pm”,那么
\renewcommand{\noon}{\unskip\pmname}
是可行的方法,因为宏在小时和“中午”之间添加了一个空格。