编写shell脚本以上午或下午表示法显示时间

zyx*_*wyz 11 bash

我正在尝试编写一个shell脚本,它显示上午或下午的时间,而不是使用date命令显示的方式.我不确定我该怎么办呢.我想首先,如何从date命令中提取时间来操作它?如何提取小时数来操纵它?

val*_*aca 10

你在寻找什么

man strftime
Run Code Online (Sandbox Code Playgroud)

这代表字符串格式时间,这是date使用的格式.

因此,要获取当前的AM/PM,请使用以下命令:

date +"%p"
Run Code Online (Sandbox Code Playgroud)

要么

ampm=`date +"%p"`
echo $ampm
Run Code Online (Sandbox Code Playgroud)

小时可以是几种格式中的一种(你想要12或24小时的时间,是否领先零?)我猜你想要非领先零12小时的时间:

date +"%l"
Run Code Online (Sandbox Code Playgroud)


Ven*_*kat 8

您可以使用以下一个以AM和PM格式打印时间长达几分钟.

echo $(date  +"%I:%M %p")
Run Code Online (Sandbox Code Playgroud)

OutPut:09:20 PM

要么

echo $(date  +"%r")
Run Code Online (Sandbox Code Playgroud)

输出:09:20:09 PM

或echo $(日期+"%I%p")

输出:09 PM


shx*_*hx2 1

您可以使用日期命令的“+”格式选项。例如:

 > date +%l%p
-> 7PM
Run Code Online (Sandbox Code Playgroud)