簡體   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