如何将命令的时间输出更改为 24 小时格式?

如何将命令的时间输出更改为 24 小时格式?

我正在开发一个程序,该程序要求在 if...else 语句中输入 24 小时格式的时间。它从 shell 命令(特别是 lpstat)获取此输入。现在,对我来说,以 24 小时格式获取该输入要方便得多,而不是获取 12 小时输入并使用 RegEx 将其转换为 24 小时输入。
作为参考,我当前的 lpstat 输出看起来有点像这样:
Deskjet_1050_J410-25    nilanjan          4096   Saturday 29 August 2020 04:56:35 PM
Deskjet_1050_J410-26    nilanjan          4096   Saturday 29 August 2020 06:47:14 PM
Deskjet_1050_J410-27    nilanjan          4096   Saturday 29 August 2020 06:58:34 PM

在此,我需要时间部分采用 24 小时制。
请告诉我我该怎么做才能让时间输出lpstat采用 24 小时制格式。

答案1

这应该可以通过LC_TIME适当设置区域变量来实现,例如

$ lpstat -a
CUPS-BRF-Printer accepting requests since Thu 05 Apr 2018 05:36:42 PM EDT
DeskJet-3630 accepting requests since Thu 31 Aug 2017 03:59:12 AM EDT

LC_TIME=C

$ LC_TIME=C lpstat -a
CUPS-BRF-Printer accepting requests since Thu Apr  5 17:36:42 2018
DeskJet-3630 accepting requests since Thu Aug 31 03:59:12 2017

相关内容