如何让日期时间在中午 34 分时打印“12.34pm”,而不是“12:34 noon”?

如何让日期时间在中午 34 分时打印“12.34pm”,而不是“12:34 noon”?

使用 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}

是可行的方法,因为宏在小时和“中午”之间添加了一个空格。

相关内容