C++

Programmation en C++ – Date et Heure

La bibliothèque standard C ++ ne fournit pas un type de date approprié. C ++ hérite des structures et des fonctions pour la manipulation de date et d’heure à partir de C. Pour accéder aux fonctions et aux structures liées à la date et à l’heure, vous devez inclure un fichier d’en-tête <ctime> dans votre programme C ++.

Il existe quatre types de temps: clock_t, time_t, size_t et tm. Les types clock_t, size_t et time_t sont capables de représenter l’heure et la date du système comme une sorte d’entier.
 
[wx_adsense]  
Le type de structure tm tient la date et l’heure sous la forme d’une structure en C ayant les éléments suivants:

Struct tm {
    tm_sec int; // secondes de 0 à 61
    int tm_min; // minutes de 0 à 59
    int tm_hour; // heures de 0 à 24
    int tm_mday; // jour 1 à 31
    int tm_mon; // mois de 0 à 11
    int tm_year; // année depuis 1900
    int tm_wday; // jours depuis dimanche
    int tm_yday; // jours depuis le 1er janvier
    int tm_isdst; // heure d'été
}

Voici les fonctions importantes que nous utilisons en travaillant avec la date et l’heure en C ou C ++. Toutes ces fonctions font partie de la bibliothèque standard C et C ++ et vous pouvez vérifier leurs détails en utilisant la bibliothèque standard C ++ ci-dessous.

time_t time (time_t * time);
Cela retourne l’heure du calendrier du système en nombre de secondes écoulées depuis le 1er janvier 1970. Si le système n’a pas de temps, .1 est renvoyé.

char * ctime (const time_t * time);
Cela retourne un pointeur vers une chaîne de la forme jour mois année heures: minutes: secondes annéen.

struct tm * localtime (const time_t * time);
Cela retourne un pointeur vers la structure tm représentant l’heure locale.

clock_t clock (void);
Cela retourne une valeur qui se rapproche du temps d’exécution du programme appelant. Une valeur de .1 est renvoyée si l’heure n’est pas disponible.

char * asctime (const struct tm * time);
Cela renvoie un pointeur vers une chaîne qui contient les informations stockées dans la structure pointée par le temps converti dans la forme : jour mois date heures: minutes: secondes annéen

struct tm * gmtime (const time_t * time);
Cela renvoie un pointeur à l’heure sous la forme d’une structure tm. Le temps est représenté en temps universel coordonné (UTC), qui est essentiellement le temps moyen de Greenwich (GMT).

time_t mktime (struct tm * time);
Renvoie la valeur du type time_t qui représente l’heure locale décrite par la structure tm pointé par timeptr (qui peut être modifiée).

double difftime (time_t time2, time_t time1);
Cette fonction calcule la différence en secondes entre time1 et time2.

size_t strftime ();
Cette fonction peut être utilisée pour formater la date et l’heure dans un format spécifique.
 

Date et heure actuelles:

Considérez que vous souhaitez récupérer la date et l’heure actuelles du système, soit en tant que « heure locale », soit en « temps universel coordonné (UTC) ». Voici l’exemple pour obtenir le même:

#include <iostream>
#include <ctime>

using namespace std;

int main( ) {
   // date / heure actuelle basée sur le système actuel
   time_t tmm = time(0);
   
   // convertir en forme de chaîne
   char* dt = ctime(&tmm);

   cout << "La date et l'heure locales sont: " << dt << endl;

   // convertir en tm struct pour UTC
   tm *g = gmtime(&tmm);
   dt = asctime(g);
   cout << "La date et l'heure UTC sont:"<< dt << endl;
}

La sortie :

La date et l'heure locales sont: Fri Feb 24 15:59:12 2015
La date et l'heure UTC sont:Fri Feb 24 20:59:12 2015

 
[wx_adsense]  

Format de temps à l’aide de struct tm

La structure tm est très importante tout en travaillant avec la date et l’heure en C ou C ++. Cette structure tient la date et l’heure sous la forme d’une structure C comme mentionné ci-dessus. La plupart des fonctions liées au temps fait usage de la structure tm. Voici un exemple qui utilise diverses fonctions liées à la date et à l’heure :

Tout en utilisant la structure dans ce chapitre, nous pensons que vous avez une compréhension de base sur la structure C et la façon d’accéder aux membres de la structure en utilisant l’opérateur ->.

#include <iostream>
#include <ctime>

using namespace std;

int main( ) {
   // date / heure actuelle basée sur le système actuel
   time_t actuel = time(0);

   cout << "Nombre de sec depuis Janvier 1,1970:" << actuel << endl;

   tm *ltm = localtime(&actuel);

   // afficher divers member de la structure tm.
   cout << "Année" << 1900 + ltm->tm_year<<endl;
   cout << "Mois: "<< 1 + ltm->tm_mon<< endl;
   cout << "Day: "<<  ltm->tm_mday << endl;
   cout << "Jour: "<< 1 + ltm->tm_hour << " : ";
   cout << 1 + ltm->tm_min << ":";
   cout << 1 + ltm->tm_sec << endl;
}

La sortie :

Nombre de sec depuis Janvier 1,1970:1487970312
Année2017
Mois: 2
Day: 24
Jour: 17 : 6:13
[wx_amazon]

Une réflexion sur “Programmation en C++ – Date et Heure”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *