我怎样才能从时间中抽出总分钟数?

Din*_*yan 8 command-line time scripts date

当我输入命令时,我的系统显示这样的时间 10:42 date +%R。我需要占用总共几分钟的时间。这意味着 642 分钟。是否有任何命令或 shell 脚本以分钟为单位显示总时间?

Syl*_*eau 11

为了只获得一天的总分钟数,我将使用以下命令:

$ date "+%H*60+%M" | bc
Run Code Online (Sandbox Code Playgroud)

例子:

$ date +%R
09:30
$ date "+%H*60+%M" | bc
570
Run Code Online (Sandbox Code Playgroud)

诀窍是格式化date输出以允许bc解释和计算公式。

  • 如果你使用 `echo $(date +"%H*60+%M") | bc`,它也适用于 zsh ;) (2认同)

gle*_*man 5

只是重击:

IFS=: read hour min < <(date +%R)
echo $(( 60 * 10#$hour + 10#$min ))
Run Code Online (Sandbox Code Playgroud)

强制将两个变量都视为以 10 为基数,以避免 shell 因无效八进制数0809