Problème script shell - fonction Date
Résolu/Fermé
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
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Fonction moyenne excel - Guide
- Microsoft activation script - Accueil - Windows
3 réponses
Jean-François Pillou
Messages postés
18879
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
16 février 2023
63 274
20 févr. 2008 à 10:42
20 févr. 2008 à 10:42
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))))
Un grand merci, ca fait depuis lundi que je galérais avec ca et la solution arrive en chronopost ^^
Jean-François Pillou
Messages postés
18879
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
16 février 2023
63 274
20 févr. 2008 à 10:52
20 févr. 2008 à 10:52
En chronopost, accompagné du manuel, s'il vous plaît :-)