Skip to content

Instantly share code, notes, and snippets.

@ozrabal
Created October 8, 2018 18:18
Show Gist options
  • Save ozrabal/5fd84aa36647290a11f8b971d8c7b960 to your computer and use it in GitHub Desktop.
Save ozrabal/5fd84aa36647290a11f8b971d8c7b960 to your computer and use it in GitHub Desktop.
calculate the difference between 2 dates
#!/bin/bash
## calculate the difference between 2 dates
date2stamp () {
date --utc --date "$1" +%s
}
dateDiff (){
case $1 in
-s) sec=1; shift;;
-m) sec=60; shift;;
-h) sec=3600; shift;;
-d) sec=86400; shift;;
*) sec=86400;;
esac
dte1=$(date2stamp $1)
dte2=$(date2stamp $2)
diffSec=$((dte2-dte1))
if ((diffSec < 0)); then abs=-1; else abs=1; fi
echo $((diffSec/sec*abs))
}
## usage
# -s in sec. | -m in min. | -h in hours | -d in days (default)
# dateDiff -s "2006-10-01" "2006-10-31"
# dateDiff -m "2006-10-01" "2006-10-31"
# dateDiff -h "2006-10-01" "2006-10-31"
# dateDiff -d "2006-10-01" "2006-10-31"
# dateDiff "2006-10-01" "2006-10-31"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment