-
BASH > les dates
Calculer le nombre de jours entre deux dates
#!/bin/bash datum1=`date -d "1991/1/1" "+%s"` datum2=`date "+%s"` diff=$(($datum2-$datum1)) days=$(($diff/(60*60*24))) echo $days
date en secondes (UNIX epoch)
date --date '2017-08-17 04:00:01' +%s # "1502938801"
passage de secondes (UNIX) en date
date --date '@1502938801' # "17 Aug 2017 04:00:01"
Calculer la différence entre deux timestamps
#!/usr/bin/env bash deb=$(date -jf "%Y-%m-%d %H:%M:%S" "${startDatetime}" +%s) fin=$(date -jf "%Y-%m-%d %H:%M:%S" "${endDatetime}" +%s) diffSec="$(($fin-$deb))" echo "Diff in seconds: $diffSec" diff=$(gdate -d@${diffSec} -u +%H:%M:%S) # apt install coreutils echo "Diff time(H:M:S): $diff"
Output:
Diff in seconds: 654289 Diff time(H:M:S): 13:44:49
#!/usr/bin/env bash deb=$(date -d "2020-05-21 05:52:47" +%s) fin=$(date -d "2020-05-28 19:37:36" +%s) diffSec="$(($fin-$deb))" echo "Diff in seconds: $diffSec" diff=$(date -d @${diffSec} +"%H:%M:%S" -u) echo "Diff time(H:M:S): $diff"
Output:
Diff in seconds: 654289 Diff time(H:M:S): 13:44:49