当我输入命令时,我的系统显示的时间是 10:42
date +%R
。我需要记录总时间的分钟数。这意味着 642 分钟。是否有任何命令或 shell 脚本可以显示总时间(以分钟为单位)?
答案1
为了获取一天的总分钟数,我将使用以下命令:
$ date "+%H*60+%M" | bc
例子:
$ date +%R
09:30
$ date "+%H*60+%M" | bc
570
诀窍是格式化date
输出,以便bc
解释和计算公式。
答案2
只需 bash:
IFS=: read hour min < <(date +%R)
echo $(( 60 * 10#$hour + 10#$min ))
强制将两个变量都视为十进制数,以避免 shell 抛出无效八进制数的错误08
,并且09
答案3
date +%R | awk -F ":" '{print ($1 * 60) + $2}'
或者
echo $((($(date +%l) * 60 ) + $(date +%M)))
date +%l
将得到小时数,乘以 60 并加上分钟数date +%M
答案4
您不需要使用 IFS,您可以这样做:
date=$(date +'%l:%M')
read H M <<< ${date//[-: ]/ }
echo "Total minutes: $(($H * 60 + $M))"
输出为:
Total minutes: 593