Pages : 1
#1 Le 28/05/2008, à 14:12
- Totor
[Résolu] ksh : calcul de date
Bonjour,
Est-il possible en ksh (ou awk) d'effectuer un calcul sur des dates ?
J'ai regardé rapidement avec awk mais il ne semble pas y avoir...
J'aimerai ajouter un nombre de jours à une date et en récupérer le résultat.
Je n'ai pas de perl, ruby ou autre... juste bc mais je connais pô et je ne suis pas certain que l'on puisse d'ailleurs !
j'ai peure que ce ne soit pas possible... Et si c'est le cas, est-il possible de tester la validité d'une date, ce qui me permetterai d'écrire une routine effectuant le calcul.
merci
Dernière modification par Totor (Le 03/06/2008, à 13:45)
-- Lucid Lynx --
Hors ligne
#2 Le 28/05/2008, à 14:20
- Totor
Re : [Résolu] ksh : calcul de date
j'ai trouvé !
Exemple 1 : Quelle sera la date dans 10 jours ?
date +%d%m%Y --date "10 days next"
Exemple 2 : Quelle était la date il y a 10 jours ?
date +%d%m%Y --date "10 days ago"
Dernière modification par Totor (Le 28/05/2008, à 14:23)
-- Lucid Lynx --
Hors ligne
#3 Le 28/05/2008, à 14:47
- Totor
Re : [Résolu] ksh : calcul de date
Oups, ça ne me convient pas en totalité ...
Je m'explique :
les exemples données effectuent le calcul d'après la date système.
mais comment faire pour une date quelconque ?
-- Lucid Lynx --
Hors ligne
#4 Le 03/06/2008, à 11:57
- Totor
Re : [Résolu] ksh : calcul de date
up !
-- Lucid Lynx --
Hors ligne
#5 Le 03/06/2008, à 13:13
- Alain.g
Re : [Résolu] ksh : calcul de date
Salut
Par exemple 10 jours avant le 28 novembre 2008 :
date +%d-%m-%Y --date '10 days ago 28 Nov 2008'
donne : 18-11-2008
10 jours après :
date +%d-%m-%Y --date '10 days 28 Nov 2008'
donne : 08-12-2008
Comme tu vois, je n'ai pas mis 'next' : on ne doit pas avoir la même version, car dans la mienne 'next' est invalide.
Par exemple pour connaître la date dans 100 jours, je dois faire :
date --date '100 days'
et non date --date '100 days next' (qui renvoie une erreur).
Sinon on peut faire aussi des choses avec la version gnu de awk
gawk 'BEGIN {print strftime("%d-%m-%Y", mktime("2008 11 28 +240 0 0"))}'
donne aussi 08-12-2008
Dernière modification par Alain.g (Le 03/06/2008, à 13:20)
Xubuntu Karmic !
Hors ligne
#6 Le 03/06/2008, à 13:20
- Totor
Re : [Résolu] ksh : calcul de date
merci.
probablement normal pour le "next" ... je suis sur RedHat - oup's (mais j'ai mes [KU]buntu en rentrant à la maison )
+%d-%m-%Y indique le format de sortie mais est-il possible de préciser celui de l'option --date ? (je trouve que le man est très pauvre à ce sujet)
Dernière modification par Totor (Le 03/06/2008, à 13:22)
-- Lucid Lynx --
Hors ligne
#7 Le 03/06/2008, à 13:32
- Alain.g
Re : [Résolu] ksh : calcul de date
Je ne pense pas mais il y un peu de souplesse quand même
Par exemple le '28 nov 2008' peut également prendre la forme 2008-11-28:
date +%d-%m-%Y -d '10 days ago 2008-11-28'
Dans un script il sera assez facile de le mettre sour cette forme là
Autres possibilités pour moins 10 jours, plus 10 jours :
date +%d-%m-%Y -d '2008-11-28 -10 days'
date +%d-%m-%Y -d '2008-11-28 +10 days'
Dernière modification par Alain.g (Le 03/06/2008, à 13:39)
Xubuntu Karmic !
Hors ligne
#8 Le 03/06/2008, à 13:45
- Totor
Re : [Résolu] ksh : calcul de date
ça, ça me convient tout à fait !
merci bien.
-- Lucid Lynx --
Hors ligne
Pages : 1