Tôi muốn có một khoảng thời gian, nói 6:45 sáng và thêm một lượng giờ, nói là 1.45 giờ, để kết quả vào một thời điểm khác. Vì vậy, tôi muốn thêm 1,45 giờ đến 6:45 sáng để có thời gian khác.
Có một dòng lệnh utile cho điều đó? Tôi đã thực hiện một số Google, và đọc trang người đàn ông date
và không tìm thấy bất cứ điều gì như thế. wcalc
dường như không xử lý các tính toán thời gian.
EDIT: Mar 6, 2015. Đây là kịch bản tôi đã kết thúc để sử dụng giờ thập phân. Nó có thể sử dụng một số kiểm tra lỗi để đảm bảo HH: MM sử dụng 2 chữ số cho giờ.
#!/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"