#1 Le 10/04/2009, à 10:38
- Lmartin76
[resolu]conversion date dans script shell
Bonjour,
Je voudrais savoir comment faire, dans un script, pour convertir une date au format timestamp (nombre de secondes écoulées depuis le 1 janvier 1970) au format DD/MM/YYYY.
le man de date ne précise pas s'il est possible d'indiquer le format d'entrée de la chaine a afficher
ex :
date +"%D" -d 1239368400
1239368400 : date invalide
j'ai essayé en ajoutant un format mais ça ne marche pas :
date +"%D" -d 1239368400 +"%s"
option invalide ou trop d'arguments
merci.
Dernière modification par Lmartin76 (Le 10/04/2009, à 12:27)
Planète bouillue, planète foutue.
Hors ligne
#2 Le 10/04/2009, à 11:53
- Totor
Re : [resolu]conversion date dans script shell
Bonjour,
Comme ceci :
date +"%D" -d "01/01/1970 +1239368400 seconds"
-- Lucid Lynx --
Hors ligne
#3 Le 10/04/2009, à 11:58
- Lmartin76
Re : [resolu]conversion date dans script shell
Bonjour,
Comme ceci :date +"%D" -d "01/01/1970 +1239368400 seconds"
Yo ! you're the best !
Merci totor, c'est au poil !
Planète bouillue, planète foutue.
Hors ligne
#4 Le 10/04/2009, à 12:34
- Alain.g
Re : [resolu]conversion date dans script shell
Bonjour
ou encore :
date +%d/%m/%Y -d @1239368400
Xubuntu Karmic !
Hors ligne
#5 Le 10/04/2009, à 15:45
- Lmartin76
Re : [resolu]conversion date dans script shell
ah ça me plait bien ça aussi !
merci.
Planète bouillue, planète foutue.
Hors ligne
#6 Le 12/04/2009, à 00:42
- vogia
Re : [resolu]conversion date dans script shell
voila ce que j'avais fait un jour:
SEC=$(echo `date -d "$MY_TIME" +%s`-`date +%s` | bc) >/dev/null 2>&1 # en secondes = plus de précision
$MY_TIME est du style: "2009-03-18 16:45"
et le résultat est en secondes
bc est l'abréviation de bynary calculate.
#7 Le 15/04/2009, à 08:35
- Lmartin76
Re : [resolu]conversion date dans script shell
Pour info : les résultats de Totor et Alain.g ne donnent pas le même résultat
Soit dateJour la date du jour format timestamp (heure et minutes à zéro):
datejour=$(date +"%s" -d $(date +'%D' ))
le résultat de
echo $(date +"%d/%m/%Y %T" -d "01/01/1970 + $datejour seconds")
donne => 14/04/2009 23:00:00 (une heure de moins que le résultat attendu.
alors que
echo $(date +"%d/%m/%Y %T" -d @$datejour)
donne => 15/04/2009 00:00:00 (résultat attendu)
(je n'ai pas essayé la commande de Vogia car je n'utilise pas le même format d'entrée)
Dernière modification par Lmartin76 (Le 15/04/2009, à 08:35)
Planète bouillue, planète foutue.
Hors ligne
#8 Le 15/04/2009, à 15:58
- Alain.g
Re : [resolu]conversion date dans script shell
Il faut préciser UTC après seconds :
date +"%d/%m/%Y %T" -d "01/01/1970 + $datejour seconds UTC"
Xubuntu Karmic !
Hors ligne