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 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, …)

Watael a écrit :

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

wink

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, …)

weezixx a écrit :

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