#1 Le 07/01/2012, à 13:43
- weezixx
[résolu]Soustraction de deux date
Bonjour,
je vous explique mon idée,
j'ai un médicament à prendre pendant 3 mois et j'aurai aimé que dès que j'allume mon pc il me dise combien de tomps il me reste dans une fenêtre.
Donc je m'étais dis que c'était juste une soustraction de deux date, mais j'ai un peu de mal à voir comment le faire comprendre en script BASH … Et j'ai déjà regardé le man de date.
Merci
Dernière modification par weezixx (Le 07/01/2012, à 18:40)
Hors ligne
#2 Le 07/01/2012, à 14:36
- omc
Re : [résolu]Soustraction de deux date
Bonjour,
Par exemple, le script suivant te donne le nombre de jour de prise de medoc
debut=2
ajourdhui=$(date '+%j')
let "reste = $ajourdhui - $debut"
echo il reste $reste jours de prise de medoc
Par contre ça ne marche pas si tu as commencé l'année dernière (il faut bidouiller un peu).
Hors ligne
#3 Le 07/01/2012, à 15:00
- weezixx
Re : [résolu]Soustraction de deux date
problème :
kevin@JARVIS:~$ sh medicament.sh
medicament.sh: 3: =: not found
medicament.sh: 5: let: not found
il reste jours de prise de medoc
Hors ligne
#4 Le 07/01/2012, à 15:00
- sputnick
Re : [résolu]Soustraction de deux date
Salut, voici une solution fiable et complete à copier coller dans un terminal tel quel :
cd
cat>medoc.bash<<EOF
#!/bin/bash
# par sputnick du forum ubuntu-fr
# script permettant de connaitre les jours de traitement restants
# en utilisant le format EPOCH (secondes depuis le 1.1.1970)
. ~/.bashrc
maDateButoir=1333803363 #date -d "+3month" +%s
maDateDuJour=$(date +%s)
maDiffEnSecondes=$((maDateButoir - maDateDuJour))
DISPLAY=:0 zenity --info --title medoc --text "Il reste $maDiffEnSecondes secondes, soit $((maDiffEnSecondes/(3600*24))) jours"
EOF
chmod +x medoc.bash
Ensuite tu peut placer ça en crontab :
@reboot sleep 30; ~/medoc.bash
(ou bien voir son gestionnaire de fenêtres, sous kde on utilise des scripts dans ~/.kde4/Autostart )
Dernière modification par sputnick (Le 07/01/2012, à 15:11)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#5 Le 07/01/2012, à 15:02
- Levi59
Re : [résolu]Soustraction de deux date
le plus simple c'est une fenêtre zenity type "info" lancée via un script lancé au démarrage.
Petit exemple :
#!/bin/bash
TempsRestant=$(($(date -d "Mar 01 2012" "+%s")-$(date -d 'now' "+%s")))
zenity --info --title "Nombre de jours restants" --width=250 --text "Il vous reste $(($TempsRestant/(3600*24))) jour(s) de médication"
exit
Hors ligne
#6 Le 07/01/2012, à 15:12
- weezixx
Re : [résolu]Soustraction de deux date
@sputnick : ma réponse
Il reste -1325941836 secondes, soit -15346 jours
Hors ligne
#7 Le 07/01/2012, à 15:16
- weezixx
Re : [résolu]Soustraction de deux date
@Levi : C'est parfait ! J'arrivais pas à bien maîtriser la date.
Hors ligne
#8 Le 07/01/2012, à 15:25
- sputnick
Re : [résolu]Soustraction de deux date
@Levi : C'est parfait ! J'arrivais pas à bien maîtriser la date.
Je sais pas comment tu te demerde !
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#9 Le 08/01/2012, à 01:40
- Levi59
Re : [résolu]Soustraction de deux date
L'erreur de chiffre négatif est aussi apparu sur mon debian virtualisé lorsque j'ai testé une première solution... Je ne saurais plus te dire qu'elle était mon erreur mais c'était en rapport avec la date actuelle.
Hors ligne