我想有一个时间,例如6:45 am,并增加一些时间,例如1.45小时,以得出另一个时间。因此,我想在上午6:45时增加1.45小时以获取其他时间。
有命令行工具吗?我已经完成了一些谷歌搜索,并阅读了手册页date
,却没有找到类似的东西。wcalc
似乎不处理时间计算。
编辑:2015年3月6日。这是我最终使用小数小时的脚本。它可能会使用一些错误检查来确保HH:MM在小时内使用2位数字。
#!/bin/bash
# Mar 6, 2015
# Add decimal hours to given time.
# Syntax: timeadd HH:MM HOURS
# There MUST be 2 digits for the hours in HH:MM.
# Times must be in military time.
# Ex: timeadd 05:51 4.51
# Ex: timeadd 14:12 2.05
echo " "
# If we have less than 2 parameters, show instructions and exit.
if [ $# -lt 2 ]
then
echo "Usage: timeadd HH:MM DECHOURS"
exit 1
fi
intime=$1
inhours=$2
# Below is arithmetic expansion $(())
# The bc calculator is standard on Ubuntu.
# Below rounds to the minute.
inminutes=$(echo "scale=0; ((($inhours * 60)*10)+5)/10" | bc)
echo "inminutes=$inminutes"
now=$(date -d "$intime today + $inminutes minutes" +'%H:%M')
echo "New time is $now"