Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

weezixx a écrit :

@Levi : C'est parfait ! J'arrivais pas à bien maîtriser la date.

Je sais pas comment tu te demerde !

http://ompldr.org/vYzQ4bw.png


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