繁体   English   中英

增加用户时间变量Bash

[英]Incrementing user time variable Bash

在我正在使用的脚本中,用户定义了一个标记为开始时间的变量。 我想将该变量增加和减少±3小时。 格式为00:00:00(24hr),我不确定是否有更好的方法不涉及字符串操作,因为如果它小于零,则无法将-03:00:00传递给Python利用此变量的脚本。

#somescript.sh 00:01:35    
STARTTIME=$1
E=${STARTTIME%*:}
S=${STARTTIME##*:} && ((S=S+3)
echo "$S : $E"

预期的结果:03:01:35和21:01:35

审阅:在问这个问题之前,bash / shell脚本中的 字符串运算符递增时间(分钟和秒) 任何援助将不胜感激。

starttime=$1
endtime=$(date -u -d "$starttime 3 hours" +'%H:%M:%S')
echo "${starttime} - $endtime"

...用作:

$ ./add-time 01:01:35
01:01:35 - 04:01:35

如果您需要朝相反的方向前进,请添加单词“ ago”:

endtime=$(date -u -d "$starttime 3 hours ago" +'%H:%M:%S')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM