Bash时间格式HH:12小时格式AM / PM的MM

时间:2016-09-06 21:13:58

标签: bash shell date unix time

我正在尝试使用以下代码打印出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

我如何改变代码呢?或者为什么它不起作用?

3 个答案:

答案 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/')