Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C++ Datum en tijd

De standaardbibliotheek van C++ biedt geen juist datumtype. C++ erft de structs en functies voor datum- en tijdmanipulatie van C. Om toegang te krijgen tot datum- en tijdgerelateerde functies en structuren, moet u het -headerbestand in uw C++-programma opnemen.

Er zijn vier tijdgerelateerde typen:clock_t, time_t, size_t , en tm . De typen - clock_t, size_t en time_t kunnen de systeemtijd en -datum weergeven als een soort geheel getal.

Het structuurtype tm bevat de datum en tijd in de vorm van een C-structuur met de volgende elementen −

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
}

Hieronder volgen de belangrijke functies die we gebruiken bij het werken met datum en tijd in C of C++. Al deze functies maken deel uit van de standaard C- en C++-bibliotheek en u kunt hun details controleren aan de hand van de onderstaande C++-standaardbibliotheek.

Zr.Nee Functie en doel
1

time_t time(time_t *time);

Hiermee wordt de huidige kalendertijd van het systeem geretourneerd in het aantal seconden dat is verstreken sinds 1 januari 1970. Als het systeem geen tijd heeft, wordt .1 geretourneerd.

2

char *ctime(const time_t *time);

Dit retourneert een pointer naar een tekenreeks van de vorm dag maand jaar hours:minutes:seconds year\n\0 .

3

struct tm *localtime(const time_t *time);

Dit retourneert een aanwijzer naar de tm structuur die de lokale tijd weergeeft.

4

clock_t clock(void);

Dit retourneert een waarde die de hoeveelheid tijd benadert die het oproepende programma heeft gelopen. Een waarde van .1 wordt geretourneerd als de tijd niet beschikbaar is.

5

char * asctime ( const struct tm * time);

Dit retourneert een aanwijzer naar een tekenreeks die de informatie bevat die is opgeslagen in de structuur waarnaar wordt verwezen door tijd, omgezet in de vorm:dag maand datum uur:minuten:seconden jaar\n\0

6

struct tm *gmtime(const time_t *time);

Dit retourneert een wijzer naar de tijd in de vorm van een tm-structuur. De tijd wordt weergegeven in Coordinated Universal Time (UTC), wat in wezen Greenwich Mean Time (GMT) is.

7

time_t mktime(struct tm *time);

Dit geeft het kalendertijd-equivalent terug van de tijd gevonden in de structuur waarnaar wordt verwezen door tijd.

8

dubbele difftime ( time_t time2, time_t time1 );

Deze functie berekent het verschil in seconden tussen tijd1 en tijd2.

9

size_t strftime();

Deze functie kan worden gebruikt om datum en tijd in een specifiek formaat op te maken.

Huidige datum en tijd

Stel dat u de huidige systeemdatum en -tijd wilt ophalen, hetzij als lokale tijd, hetzij als Coordinated Universal Time (UTC). Hieronder volgt het voorbeeld om hetzelfde te bereiken −

Live demo
#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;
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −

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

Formaattijd met struct tm

De tm structuur is erg belangrijk bij het werken met datum en tijd in C of C++. Deze structuur bevat de datum en tijd in de vorm van een C-structuur zoals hierboven vermeld. Meestal maken gerelateerde functies gebruik van de tm-structuur. Hieronder volgt een voorbeeld dat gebruik maakt van verschillende datum- en tijdgerelateerde functies en tm-structuur −

Bij het gebruik van structuur in dit hoofdstuk ga ik ervan uit dat je een basiskennis hebt van de C-structuur en hoe je toegang krijgt tot structuurleden met behulp van de pijl -> operator.

Live demo
#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;
}

Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op −

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

C Taal

  1. Spannings- en stroomberekeningen
  2. C++ variabelen, literalen en constanten
  3. C++ klassen en objecten
  4. C++ Geheugenbeheer:nieuw en verwijderen
  5. C++ Openbare, beschermde en privé-erfenis
  6. C++ vriend Functie en vriend Klassen
  7. Hoe de huidige datum en tijd in Python te krijgen?
  8. Structuren en klassen in C++
  9. C++ overbelasting (operator en functie)
  10. C++-bestanden en -streams
  11. Java 8 - Nieuwe datum/tijd-API