#!/bin/bash #=============================================================================== # Flight details starting 2017-12-24 # Edinburgh (EDI) to Doha (DOH) # Doha (DOH) to Auckland (AKL) # # Departure EDI: 14:55 (+0000) # Arrival DOH: 12:55 (+0300) # Flight time: 6hr 55min # # Connection: 1hr 40min # # Departure DOH: 02:25 (+0300) # Arrival AKL: 05:00 (+1300) # Flight time: 16hr 10min #=============================================================================== minutes () { local hhmm="${1:?Usage: minutes time variable}" local -n ref="${2:?Usage: minutes time variable}" local hh mm hh=${hhmm%%:*} mm=${hhmm##*:} ref=$((hh * 60 + mm)) } echo "Outward flights:" dep_edi="$(date -Iminutes -d "2017-12-24 14:55")" minutes '6:55' flight1 arr_doh=$(date -Iminutes -d "$dep_edi + $flight1 minutes") printf "%-20s %s\n" "Leave Edinburgh at" "$(date -d "$dep_edi" '+%F %R %z')" printf "%-20s %s\n\n" "Arrive Doha at" "$(date -d "$arr_doh" '+%F %R %z')" minutes '1:40' doha # connection dep_doh=$(date -Iminutes -d "$arr_doh + $doha minutes") minutes '16:10' flight2 arr_akl=$(date -Iminutes -d "$dep_doh + $flight2 minutes") printf "%-20s %s\n" "Leave Doha at" "$(date -d "$dep_doh" '+%F %R %z')" printf "%-20s %s\n\n" "Arrive Auckland at" "$(date -d "$arr_akl" '+%F %R %z')" printf "%-20s %s\n" "New Zealand time" \ "$(TZ="Pacific/Auckland" date -d "$(date -Iminutes -d "$arr_akl")" '+%F %R %z')" dur=$((flight1 + doha + flight2)) printf "%-20s %s\n" "Duration" "$((dur/60))hr $((dur%60))min"