Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Guide complet sur la date et l'heure en C++

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

Il y a quatre types liés au 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.

Le type structure tm contient la date et l'heure sous la forme d'une structure C ayant les éléments suivants :

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

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

N°Fonction et but
1

time_t time(time_t *time);

Retourne l'heure calendaire courante du système en nombre de secondes écoulées depuis le 1er janvier 1970. Si le système n'a pas d'heure, .1 est retourné.

2

char *ctime(const time_t *time);

Retourne un pointeur vers une chaîne de la forme jour mois année heures:minutes:secondes année\n\0.

3

struct tm *localtime(const time_t *time);

Retourne un pointeur vers la structure tm représentant l'heure locale.

4

clock_t clock(void);

Retourne une valeur approximant le temps d'exécution du programme appelant. Une valeur de .1 est retournée si le temps n'est pas disponible.

5

char *asctime(const struct tm *time);

Retourne un pointeur vers une chaîne contenant les informations stockées dans la structure pointée par time converties sous la forme : jour mois date heures:minutes:secondes année\n\0

6

struct tm *gmtime(const time_t *time);

Retourne un pointeur vers l'heure sous forme de structure tm. L'heure est représentée en Temps Universel Coordonné (UTC), qui est essentiellement le Temps Moyen de Greenwich (GMT).

7

time_t mktime(struct tm *time);

Retourne l'équivalent temps calendaire de l'heure trouvée dans la structure pointée par time.

8

double difftime(time_t time2, time_t time1);

Calcule la différence en secondes entre time1 et time2.

9

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

Supposons que vous vouliez récupérer la date et l'heure système actuelles, soit comme heure locale, soit comme Temps Universel Coordonné (UTC). Voici l'exemple pour y parvenir :

#include <iostream>
#include <ctime>
using namespace std;

int main() {
    // date/heure actuelle basée sur l'heure système courante
    time_t now = time(0);
    // convertir now en forme chaîne
    char* dt = ctime(&now);
    cout << "La date et l'heure locale est : " << dt << endl;
    // convertir now en structure tm pour UTC
    tm *gmtm = gmtime(&now);
    dt = asctime(gmtm);
    cout << "La date et l'heure UTC est : " << dt << endl;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

La date et l'heure locale est : Sat Jan 8 20:07:41 2011
La date et l'heure UTC est : Sun Jan 9 03:07:41 2011

Formater l'heure en utilisant la structure tm

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

En utilisant la structure dans ce chapitre, je suppose que vous avez une compréhension de base sur la structure C et comment accéder aux membres de structure en utilisant l'opérateur flèche ->.

#include <iostream>
#include <ctime>
using namespace std;

int main() {
    // date/heure actuelle basée sur l'heure système courante
    time_t now = time(0);
    cout << "Nombre de secondes depuis le 1er janvier 1970 : " << now << endl;
    tm *ltm = localtime(&now);
    // afficher divers composants de la structure tm
    cout << "Année : " << 1900 + ltm->tm_year << endl;
    cout << "Mois : " << 1 + ltm->tm_mon << endl;
    cout << "Jour : " << ltm->tm_mday << endl;
    cout << "Heure : " << 5 + ltm->tm_hour << ":";
    cout << 30 + ltm->tm_min << ":";
    cout << ltm->tm_sec << endl;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

Nombre de secondes depuis le 1er janvier 1970 : 1588485717
Année : 2020
Mois : 5
Jour : 3
Heure : 11:31:57

Langue C

  1. Calcul de la tension et du courant dans les circuits CC réactifs
  2. Maîtriser les variables, littéraux et constantes en C++ : Guide complet
  3. Classes et objets C++ : Guide pratique de la programmation orientée objet
  4. Maîtriser la gestion de mémoire en C++ : Utilisation experte de new et delete
  5. Maîtriser l'héritage C++ : Public, Protected et Private expliqués
  6. Fonctions amies et classes amies en C++ : Maîtriser le contrôle d'accès
  7. Récupérer la date et l'heure actuelles en Python : Guide pratique
  8. Structures C++ vs Classes : guide pratique pour développeurs embarqués
  9. Maîtriser la surcharge en C++ : Fonctions et opérateurs expliqués