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]

je veux apprendre le c++