我正在尝试使用以下代码打印出AM / PM格式的时间:
#!/bin/bash
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
--AMPM| --ampm)
while true;
do
#Time in AMPM format:
echo $(date +"%r")
sleep 1s;
clear;
done
esac
done
我明白了:HH:MM:SS 我想得到这个:HH:MM
我如何改变代码呢?或者为什么它不起作用?
答案 0 :(得分:10)
格式化日期输出:
date +"%I:%M %p"
date +"%I:%M %P"
其中:
%I hour (01..12)
%M minute (00..59)
%p locale's equivalent of either AM or PM; blank if not known
%P like %p, but lower case
答案 1 :(得分:3)
如果您至少使用bash
4.2,则甚至不需要date
:
printf '%(%I:%M %p)T\n'
答案 2 :(得分:0)
您只需更换以下内容
即可echo $(date +"%r")
与
echo $(date +"%r" | sed -e 's/\([0-9][0-9]:[0-9][0-9]\):[0-9][0-9]/\1/')