IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Variable temps C++


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Variable temps C++
    Je voudrais savoir si il existe un type de variable c++ qui peut être initialiser par un temps de type 1:2:3:5(h:min:s:ms) entrer par l'utilisateur

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    Bonjour,

    Réponse courte : Non.

    Réponse longue : Il existe des types "dédiés" à la manipulation du temps, comme clock_t ou time_t. Mais ces types sont en réalités des typedefs de types builtins. Il est donc possible d'initialiser des variables de tels types en fonction de ce qu'entre l'utilisateur, mais pas sans parsing.

  3. #3
    Membre chevronné Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Points : 2 160
    Points
    2 160
    Par défaut
    En C++11, oui
    Regarde <chrono>.

  4. #4
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    est ce qu'elle peut contenir le temps type h:min:s:ms

  5. #5
    Membre chevronné Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Points : 2 160
    Points
    2 160
    Par défaut
    À ma connaissance, il n'existe pas de classe qui gère tout ça directement.
    Si tu utilises uniquement la bibliothèque standard, tu peux écrire ta propre classe qui sera composée de std::chrono::hours, std::chrono::minutes, std::chrono::seconds, std::chrono::milliseconds, std::chrono::microseconds, std::chrono::nanoseconds (par exemple).

  6. #6
    Membre confirmé
    Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Octobre 2013
    Messages : 158
    Points : 555
    Points
    555
    Par défaut
    Le C++ te propose des briques de base et ne t'impose aucun choix,

    Question,
    Combien de de temps s'est il ecoule entre le 31 decembre 2008 23:59:55 et le 1 janvier 2009 00:00:5 ? (oui il y a un piege)

    Et il y a encore pleins de cas particuliers du meme acabit (N'oublie pas que la revolution d'octobre a eu lieu en novembre pour l'europe de l'ouest)
    On peut aussi se poser une autre question, celle des facon de formater le temps, je ne suis pas sur que partout sur la planete on ecrive hh:mm:ss


    Bref le compage de temps c'est un sacre bordel, et les besoins sont fortement en fonction des applications. Donc il y a des choix a faire, c'est donc a l'utilisateur de faire ces choix.
    Bref il faut soit ecrire ta classe, soit utiliser une librairie toute faite.

    Je connais pas (encore) std::chrono qui contiens surement des briques plus avancee que time_t mais il faut pas rever ca restera des briques.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    Citation Envoyé par _zzyx_ Voir le message
    Combien de de temps s'est il ecoule entre le 31 decembre 2008 23:59:55 et le 1 janvier 2009 00:00:5 ? (oui il y a un piege)

    Et il y a encore pleins de cas particuliers du meme acabit [...]
    Ah ... et comment on fait pour les gérer ces cas particuliers ?
    Non parce que pour cette histoire de seconde intercalaire, je vois pas très bien comment l'implémenter. Sauf si on a une horloge atomique sur soi ?

  8. #8
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    chrono implémente tout de même 2 classes bien pratiques: duration et time_point.
    Ce sont deux classes distinctes car ce sont des notions bien différentes. D'ailleurs cet en-tête vient de boost, de la lib date_time, qui est donc le résultat de longues années d'utilisation, de modifications et d'améliorations.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  9. #9
    Membre confirmé
    Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Octobre 2013
    Messages : 158
    Points : 555
    Points
    555
    Par défaut
    Citation Envoyé par the Hound Voir le message
    Ah ... et comment on fait pour les gérer ces cas particuliers ?
    Non parce que pour cette histoire de seconde intercalaire, je vois pas très bien comment l'implémenter. Sauf si on a une horloge atomique sur soi ?
    Je crois que le timesamp unix corrige les secondes intercalaires, donc la solution qu'on avait sur un projet ou il fallait etre en UTC et prendre en compte les secondes intercalaires

    - Temps GPS (non corrige)
    - Liste des secondes intercalaires codees en dur, et correction lorsqu'on convertit un temps GPS en temps UTC.

    En sachant que le projet manipule
    - Des dates comprise entre 1995 et (a la louche) 2025
    - Les dates correspondent a une date de mesure, donc pas de probleme de futurs
    - Chaque instrument est dote d'une horloge synchronisee sur le temps GPS

    Ce n'est bien evidemment pas adapte a un projet qui doit gerer des dates futures, ou des dates a des periodes plus anciennes.
    Mais pour le compage de jours sur de longue periode historique une methode similaire est utilisee on peut convertir en jours juliens
    ce qui permet de compter le nombre de jours entre deux dates, sans ce soucier des notions de mois/semaines/ etc...

Discussions similaires

  1. Variable temp sous Cygwin
    Par akorx dans le forum Windows
    Réponses: 5
    Dernier message: 03/04/2014, 16h51
  2. convertion variable temps
    Par F.Salenko dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/11/2011, 05h11
  3. Codification variable temps
    Par ALEA001 dans le forum Débutez
    Réponses: 4
    Dernier message: 04/08/2011, 14h11
  4. Renommer des variables + temps PCU
    Par chocolat59 dans le forum SAS Base
    Réponses: 10
    Dernier message: 04/05/2010, 11h59
  5. variable temp de tomcat
    Par pascalou3 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 15/11/2006, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo