我正在尝试编写一个以 am 或 pm 显示时间的 shell 脚本,而不是使用 date 命令显示的方式。我不确定我应该如何去做。我想对于初学者来说,如何从 date 命令中提取时间来操作它?以及如何提取一小时的数字来操纵它?
问问题
25510 次
7 回答
12
你正在寻找的是
man strftime
这代表字符串格式时间,这是date
使用的格式。
因此,要获取当前的 AM/PM,请使用以下命令:
date +"%p"
或者
ampm=`date +"%p"`
echo $ampm
小时可以是几种格式之一(你想要 12 小时还是 24 小时时间,是否前导零?)我猜你想要非前导零的 12 小时时间:
date +"%l"
于 2013-02-24T21:07:56.633 回答
9
您可以使用下面的一种以 AM 和 PM 格式打印最多几分钟的时间。
echo $(date +"%I:%M %p")
输出 : 09:20 PM
或者
echo $(date +"%r")
输出:09:20:09 PM
或 echo $(date +"%I %p")
输出:晚上 9 点
于 2015-02-23T03:09:20.810 回答
3
而不是使用 date 命令显示的方式
该date
命令采用格式字符串。供应将根据给定的时间值或当前 locale 的相应字符串%p
显示“AM”或“PM” 。中午被视为“PM”,午夜被视为“AM”:
% date +'%H:%M %p'
08:01 am
“在引擎盖下”,这调用strftime()
. 有关更多格式选项,请参见手册页。
于 2013-02-24T21:03:03.097 回答
2
这取决于区域设置。
LC_TIME="C" date +%l%p
LC_TIME="C" date +'%l:%M %p'
于 2017-12-06T17:39:34.753 回答
1
您可以使用 date 命令的“+”格式选项。例如:
> date +%l%p
-> 7PM
于 2013-02-24T21:02:59.603 回答
1
要将 AM 或 PM 设为 am 或 pm 试试这个日期 +%#p
于 2019-12-12T10:30:31.397 回答
0
使用日期 +"%P" 大写 P 显示 am 或 pm
于 2020-04-15T16:14:47.997 回答