#1 Le 13/01/2012, à 15:06
- weezixx
Décompteur (mois, jours, heures, minutes, …)
Bonjour,
tout est dans le titre, j'aimerai en mode console, mettre une date et que ça m'indique (continuellement) le temps qu'il me reste avant celle - ci.
genre : Il reste %Mois %Jours %Heures % minutes etc
Merci
Ps je connais déjà stopwatch mais c'est juste pour les heures si j'ai bien compris
Hors ligne
#2 Le 13/01/2012, à 15:36
- sputnick
Re : Décompteur (mois, jours, heures, minutes, …)
Salut, voici :
(compte a rebours de 3 mois)
#!/bin/bash
# codé par sputnick
maDateButoir=1334324120 #date -d "+3month" +%s
maDateDuJour=$(date +%s)
Secondes=$((maDateButoir - maDateDuJour))
echo "$((Secondes/(3600*24))) jours, $(( (Secondes/3600)%24 )) hours, $(( (Secondes/60)%60 )) minutes, $((Secondes%60 )) secondes."
Dernière modification par sputnick (Le 13/01/2012, à 21:45)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 13/01/2012, à 16:41
- weezixx
Re : Décompteur (mois, jours, heures, minutes, …)
Et ça va l'afficher de façon continue ? Ou juste une fois et puis il faudra refaire la commande pour à nouveau avoir la réponse ?
Merci
Hors ligne
#4 Le 13/01/2012, à 16:52
- Watael
Re : Décompteur (mois, jours, heures, minutes, …)
salut sputnick,
je ne sais pas si c'est fait exprès, alors je le rappelle quand même : SECONDS est une variable d'environnement de BASH, dont la modification, ou l'annulation, lui fera perdre ses propriétés.
Dernière modification par Watael (Le 13/01/2012, à 16:52)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 13/01/2012, à 21:55
- sputnick
Re : Décompteur (mois, jours, heures, minutes, …)
salut sputnick,
je ne sais pas si c'est fait exprès, alors je le rappelle quand même : SECONDS est une variable d'environnement de BASH, dont la modification, ou l'annulation, lui fera perdre ses propriétés.
Oui bien vu, j'avais copié collé mes "snippets" un peu trop rapidement.
Voici une version plus complète et corrigée (compte a rebours de 3 mois) :
#!/bin/bash
# codé par sputnick
main() {
maDateButoirEnSecondes=1333803363 # on trouve cette valeur EPOCH avec la commande "date -d "+3month" +%s"
maDateNowEnSecondes=$(date +%s)
Secondes=$((maDateButoirEnSecondes - maDateNowEnSecondes))
printf "\r$((Secondes/(3600*24))) jours, $(( (Secondes/3600)%24 )) hours, $(( (Secondes/60)%60 )) minutes, $((Secondes%60 )) secondes."
}
while true; do main; sleep 1; done
man date
Dernière modification par sputnick (Le 13/01/2012, à 22:00)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#6 Le 14/01/2012, à 11:53
- weezixx
Re : Décompteur (mois, jours, heures, minutes, …)
Merci pour vos réponses, mais est-ce que ça marche si on met une date de l'année prochaine ? J'ai pas l'impression même si je peux me tromper.
Exemple de ce que je recherche : Oh prochain concert le 21/04/2013 à 20h et qu'à partir de ça il me décompte.
J'espère m'être fait comprendre.
Merci
Hors ligne
#7 Le 14/01/2012, à 12:35
- sputnick
Re : Décompteur (mois, jours, heures, minutes, …)
Suffit d'adapter :
#!/bin/bash
# codé par sputnick
main() {
maDateButoirEnSecondes=$(date -d "2013-04-21" +%s)
maDateNowEnSecondes=$(date +%s)
Secondes=$((maDateButoirEnSecondes - maDateNowEnSecondes))
printf "\r$((Secondes/(3600*24))) jours, $(( (Secondes/3600)%24 )) hours, $(( (Secondes/60)%60 )) minutes, $((Secondes%60 )) secondes."
}
while true; do main; sleep 1; done
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#8 Le 12/03/2012, à 04:25
- sputnick
Re : Décompteur (mois, jours, heures, minutes, …)
Peux être cherche tu qq chose de plus "sexy" ?
cd
wget http://www.sputnick-area.net/scripts/countdown_html.tar.bz2
tar xjvf countdown_html.tar.bz2
cd countdown_html
python -m SimpleHTTPServer 2400 &
sleep 2
chromium http://localhost:2400
# kill %1 # pour arreter le serveur web
On peux aller plus loin en ouvrant une fenêtre de navigateur minimaliste sans bouton, cadré sur le compteur, recherche les exemples sur le forum avec fip + gtk
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#9 Le 18/03/2012, à 01:54
- weezixx
Re : Décompteur (mois, jours, heures, minutes, …)
Désolé du retard pour te dire que ça fonctionne parfaitement.
Mais j'aurai encore une amélioration :
et si j'ai plusieurs dates ? je vais pas à chaque fois faire une fonction non ? c'est trop répétitif, alors comment créer une boucle pour toutes mes dates ?
Mon idée c'est de mettre des titres de sorties de films avec leurs dates, et lorsque je lancerai le script
il m'afficherait le titre et à côté le temps avant sa sortie.
J'ai essayé mais sans succès, je commence à en avoir marre de sans arrêt (te) demander de l'aide mais connaître la réponse est plus fort que moi.
Merci encore !
Dernière modification par weezixx (Le 18/03/2012, à 03:10)
Hors ligne
#10 Le 18/03/2012, à 22:17
- sputnick
Re : Décompteur (mois, jours, heures, minutes, …)
Simple, utiliser PHP.
Exemple : tu tape
http://sputnick-area.net/countdown_html/?start=09:19:19:09&name=bete de film qui tue
le navigateur urlencode cela :
http://sputnick-area.net/countdown_html … 0qui%20tue
Le code (tres peu de modifs par rapport à l'ancien :
<!DOCTYPE html>
<!-- usage : http://page?start=01:12:12:00&name=foobar -->
<html lang="fr">
<head>
<meta charset="utf-8"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Countdown that doesn't sucks</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.countdown.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$('#counter').countdown({
image: 'img/digits.png',
startTime: '<?php echo $_REQUEST['start'] ?>'
});
});
</script>
<style type="text/css">
body {
background-color: white;
}
br { clear: both; }
.cntSeparator {
font-size: 54px;
margin: 10px 7px;
color: #000;
}
.desc { margin: 7px 3px; }
.desc div {
float: left;
font-family: Arial;
width: 70px;
margin-right: 65px;
font-size: 13px;
font-weight: bold;
color: #000;
}
</style>
</head>
<body>
<h1><?php echo $_REQUEST['name'] ?></h1>
<div id="counter"></div>
<div class="desc">
<div>Jours</div>
<div>Heures</div>
<div>Minutes</div>
<div>Secondes</div>
</div>
</body>
</html>
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#11 Le 19/03/2012, à 00:23
- weezixx
Re : Décompteur (mois, jours, heures, minutes, …)
Oula, moi j'avais pensé à le faire avec juste une boucle for.
Genre : for date in date1 date 2 date 3 …
do …
Pas possible ?
Merci
Hors ligne
#12 Le 19/03/2012, à 00:25
- sputnick
Re : Décompteur (mois, jours, heures, minutes, …)
Oula, moi j'avais pensé à le faire avec juste une boucle for.
Genre : for date in date1 date 2 date 3 …
do …Pas possible ?
Merci
Tu n'a donc pas pris le temps de lire http://forum.xubuntu-fr.org/viewtopic.p … 1#p8457401
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne