Shell : comment ajouter une seconde à une heure donnée? - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 23-12-2008 à 00:13:20
Tu as trouvé ta réponse : l'option --date ajoute les différents arguments.
$ date --date "18:57:30 1 sec"
$ date --date "3 min 18:57:30 1 sec"
$ date --date "3 min 8 min"
$ date --date "7 sec 2006-08-07 12:34:56"
Une date est forcément "absolue", avec jour, mois, année et heure. Tu ne peux pas avoir "juste une heure". Si tu ne précises pas, ça complète les valeurs manquantes par rapport à la date actuelle.
Marsh Posté le 23-12-2008 à 01:30:17
Je vous remercie pour vos réponses, et en particulier raph0001. C'est exactement ce que je cherchais.
Merci!!
Marsh Posté le 06-01-2009 à 17:58:35
On pose une journée arbitraire, genre le 01/01/2000
On convertit en timestamp (secondes depuis le 01/01/1970) cette date + ton truc HH:MM:SS :
date --date="2000-01-01 ${TON_TRUC}" "+%s" |
On ajoute une seconde. L'addition se fait comme ça :
echo $((42 + 1)) (c'est du bash)
expr 42 + 1 (c'est mieux)
On reconvertit au format dd-mm-YY HH:MM:SS
date --date=@"${NOUVEAU_TRUC}" "+%Y-%m-%d %H:%M:%S" |
On coupe pour virer la partie inutile
cut -d ' ' -f 2 |
Le tout assemblé :
$TON_TRUC="12:01:42" |
Étonnant non
Marsh Posté le 06-01-2009 à 18:30:57
Il en faut du code pour rajouter 1 sec à une date dis donc
Marsh Posté le 07-01-2009 à 07:41:43
esox_ch a écrit : Il en faut du code pour rajouter 1 sec à une date dis donc |
Ben si on veut pas utiliser le "1 sec" faut additionner soi-même.
Et si on veut pas faire les conversions à la main faut utiliser date (pas d'API en shell, les commandes sont l'API)
Marsh Posté le 22-12-2008 à 19:52:55
Bonsoir,
J'ai une heure au format HH:MM:SS, par ex 18:57:30
Je dois ajouter UNE seconde, par script.
J'ai vu que par exemple
ajoute une seconde à l'heure système. Cependant apparament je n'ai pas trouvé comment donner à "date" une date d'entrée pour qu'il travaille sur cette date de base et non sur la date système.
Y a-t-il une solution?
Sinon, comment faire? A savoir que je ne dois pas gérer le jour mais uniquement ajouter une seconde à une heure donnée...
Merci
edit : de préférence en shell script
Message édité par sarah166 le 22-12-2008 à 20:13:39