Me gustaría tener un tiempo, digamos 6:45 am, y agregar una cantidad de horas, digamos 1.45 horas, para dar como resultado otro tiempo. Por lo tanto, me gustaría agregar 1.45 horas a las 6:45 am para obtener otro momento.
¿Hay una línea de comando útil para eso? Busqué en Google y leí la página del manual date
y no he encontrado nada de eso. wcalc
no parece manejar los cálculos de tiempo.
EDITAR: 6 de marzo de 2015. Este es el guión que terminé para usar horas decimales. Podría usar alguna comprobación de errores para asegurarse de que HH: MM use 2 dígitos para las horas.
#!/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"
2:30 hour
lugar de2.5 hour
?2 hour + 30 minutes
;)