• 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

       

 

Aucun commentaire

 

Laissez un commentaire