Calculer le temps depuis une date bash

Résolu
jeremyp3 Messages postés 22 Statut Membre -  
jeremyp3 Messages postés 22 Statut Membre -
bonjour,

je solicite votre aide pour calculer le temps passé depuis une date ...

un exemple j'ai besoin du temps passer depuis le lancement de ma dernière connection donc elle c'est lancer le 24 avril 2012 a 14H58

comment pourrait-on faire ça facilement en bash ?

6 réponses

dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
j'ai changé avril en april parce que j'ai un système en anglais
$ date
Sat Apr 28 15:21:56 CEST 2012
$ set $( date -d '24 april 2012  14:58' +%s) $(date +%s)
$ t=$(($2-$1)) ; printf "%dj %dh %dm %ds\n" $((t/86400)) $((($t%86400)/3600)) $((($t%3600)/60)) $(($t%60))
4j 0h 24m 0s
$ 
0
jeremyp3 Messages postés 22 Statut Membre
 
re,

ça marche très bien avec une date en anglais mais dès que je passe une date en français il me la reconnais pas ...

date: date non valide « 28 avril 2012 16:21 »

j'obtien la date comme ceci : ls -l /var/run/ppp0.pid |cut -d " " -f6-8

merci

Jérémy
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
n'est ce pas plutôt
ls -l /var/run/ppp0.pid |cut -d " " -f6-7
0
jeremyp3 Messages postés 22 Statut Membre
 
non car la il manque l'heure... mais même qand j'écrit la date en toute lettre il la reconnais pas, parcontre si je change le v d'avril en p ça fonctionne ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 19021 Statut Contributeur 5 637
 
essayer avec la date en secs
set $(stat -c %Y /var/run/ppp0.pid)  $(date +%s)
0
jeremyp3 Messages postés 22 Statut Membre
 
parfait, merci !
cela fonctionne à présent

Jérémy
0