Shell 脚本 - 分钟数

Shell 脚本 - 分钟数

如何编写一个仅使用 shell 功能(和 date 命令)的 shell 脚本来输出当天经过的分钟数?

答案1

由于date将非说明符视为文字,因此您可以使用格式字符串为当前分钟数构造一个简单的算术表达式,然后使用 shell 的内置算术计算结果。例如,在bash

printf "$(( $(date '+%H * 60 + %M') ))\n"

如果您的 shell 不支持算术,您可以使用外部计算器,例如bc

date '+%H * 60 + %M' | bc

或者dc

date '+%H 60 * %M + p' | dc

答案2

GNUdatebash

daystart_sec="$(date --date="today 00:00:00" +%s)"
now_sec="$(date +%s)"
echo $(((now_sec-daystart_sec)/60))

答案3

如何从当天剩余的分钟数(即 1440)中减去当天过去的分钟数?所以基本上我想从 1440 中减去上面的输出。

相关内容