Problème script shell - fonction Date
Résolu
Mat
-
rochdy -
rochdy -
Bonjour,
Je dois faire un script qui compte le nombre de jours depuis le 01/01/2000, qui sera ma variable pour la comparer a un fichier (qui porte dans son nom le n° d'aujourd'hui)
J'ai essayé avec la fonction Date, mais comme je suis un novice en programmation shell, c'est un peu abstrait pour moi :)
Donc je fait appel a vous pour un petit coup de pouce
Je dois faire un script qui compte le nombre de jours depuis le 01/01/2000, qui sera ma variable pour la comparer a un fichier (qui porte dans son nom le n° d'aujourd'hui)
J'ai essayé avec la fonction Date, mais comme je suis un novice en programmation shell, c'est un peu abstrait pour moi :)
Donc je fait appel a vous pour un petit coup de pouce
A voir également:
- Problème script shell - fonction Date
- Fonction si et - Guide
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Fonction moyenne excel - Guide
3 réponses
Pour obtenir le timestamp UNIX du 01/01/2000 (nombre de secondes écoulées entre le 1er janvier 1970 et le 1er janvier 2000 :
Pour obtenir le timestamp UNIX d'aujourd'hui :
Pour obtenir le nombre de secondes écoulées entre le 1er janvier 2000 et aujourd'hui, il suffit de faire une soustraction :
Pour obtenir le nombre de jour depuis le 01/01/2000 il suffit de convertir ces secondes en jour (en divisant ce nombre de secondes par le nombre de secondes par jour (60*60*24, soit 3600*24)):
date -d 2000-01-01 +"%s"
Pour obtenir le timestamp UNIX d'aujourd'hui :
date +"%s"
Pour obtenir le nombre de secondes écoulées entre le 1er janvier 2000 et aujourd'hui, il suffit de faire une soustraction :
echo $((`date +"%s"` - `date -d 2000-01-01 +"%s"`))
Pour obtenir le nombre de jour depuis le 01/01/2000 il suffit de convertir ces secondes en jour (en divisant ce nombre de secondes par le nombre de secondes par jour (60*60*24, soit 3600*24)):
echo $(($((`date +"%s"` - `date -d 2000-01-01 +"%s"`))/$((3600*24))))