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

Date et heure C++

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

Il existe 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 sous la forme d'une sorte d'entier.

Le type de 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;   // seconds of minutes from 0 to 61
   int tm_min;   // minutes of hour from 0 to 59
   int tm_hour;  // hours of day from 0 to 24
   int tm_mday;  // day of month from 1 to 31
   int tm_mon;   // month of year from 0 to 11
   int tm_year;  // year since 1900
   int tm_wday;  // days since sunday
   int tm_yday;  // days since January 1st
   int tm_isdst; // hours of daylight savings time
}

Voici les fonctions importantes que nous utilisons lorsque nous travaillons 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 leur détail en vous référant à la bibliothèque standard C++ ci-dessous.

time_t temps(time_t *time);

Cela renvoie l'heure actuelle du calendrier 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 renvoyé.

char *ctime(const time_t *time);

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

struct tm *localtime(const time_t *time);

Cela renvoie un pointeur vers le tm structure représentant l'heure locale.

horloge_t horloge(vide) ;

Cela renvoie une valeur qui se rapproche de la durée 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 contenant les informations stockées dans la structure pointée par l'heure convertie sous la forme :jour mois date heures:minutes:secondes année\n\0

struct tm *gmtime(const time_t *time);

Cela renvoie un pointeur sur l'heure sous la forme d'une structure tm. L'heure est représentée en temps universel coordonné (UTC), qui est essentiellement le temps moyen de Greenwich (GMT).

time_t mktime(struct tm *time);

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

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.

Sr.No Fonction et objectif
1
2
3
4
5
6
7
8
9

Date et heure actuelles

Supposons que vous souhaitiez récupérer la date et l'heure actuelles du système, soit en tant qu'heure locale, soit en tant que temps universel coordonné (UTC). Voici l'exemple pour obtenir le même −

Démo en direct
#include <iostream>
#include <ctime>

using namespace std;

int main() {
   // current date/time based on current system
   time_t now = time(0);
   
   // convert now to string form
   char* dt = ctime(&now);

   cout << "The local date and time is: " << dt << endl;

   // convert now to tm struct for UTC
   tm *gmtm = gmtime(&now);
   dt = asctime(gmtm);
   cout << "The UTC date and time is:"<< dt << endl;
}

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

The local date and time is: Sat Jan  8 20:07:41 2011

The UTC date and time is:Sun Jan  9 03:07:41 2011

Formater l'heure à l'aide de la structure tm

Le mc La structure est très importante lorsque vous travaillez avec la date et l'heure en C ou en 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 utilisent 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 de la structure C et comment accéder aux membres de la structure à l'aide de la flèche -> opérateur.

Démo en direct
#include <iostream>
#include <ctime>

using namespace std;

int main() {
   // current date/time based on current system
   time_t now = time(0);

   cout << "Number of sec since January 1,1970 is:: " << now << endl;

   tm *ltm = localtime(&now);

   // print various components of tm structure.
   cout << "Year:" << 1900 + ltm->tm_year<<endl;
   cout << "Month: "<< 1 + ltm->tm_mon<< endl;
   cout << "Day: "<< ltm->tm_mday << endl;
   cout << "Time: "<< 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 −

Number of sec since January 1,1970 is:: 1588485717
Year:2020
Month: 5
Day: 3
Time: 11:31:57

Langue C

  1. Calculs de tension et de courant
  2. Variables, littéraux et constantes C++
  3. Classes et objets C++
  4. Gestion de la mémoire C++ :création et suppression
  5. Héritage C++ public, protégé et privé
  6. Fonction amie C++ et classes amies
  7. Comment obtenir la date et l'heure actuelles en Python ?
  8. Structures et classes en C++
  9. Surcharge C++ (opérateur et fonction)