2016-08-01 3 views
0

Я пытаюсь преобразовать два Epoch (Unix штампа времени) относится к читаемой дате человека (оставшееся время)Bash преобразовать два Эпохи в оставшееся время

AT=$(echo $RES | jq '.results[0].unixtime' | tr -d '"') # Returns unix time in JST. 
NOW=$(TZ=":Asia/Tokyo" date +%s) # Returns current time in JST 
DIFF=$(echo $AT-$NOW | bc) 

В качестве примера;

AT=1470038400 
NOW=1470032871 
DIFF=5529 

Как получить оставшееся время между двумя в следующем формате: DAYd HOUR ч MINm СЭК?

+0

Я бы, вероятно, использовать 'awk' сделать разницу и форматирование. –

ответ

0

Вы можете попробовать следующее

printf "%dd %dh %dm %ds\n" $((DIFF/(3600 * 24))) $(((DIFF/3600) % 24)) $(((DIFF/60) % 60)) $((DIFF % 60)) 
+0

Спасибо, он работает, я изменил его, чтобы установить себя в переменную, но он работает :) –