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

Uitgebreide Gids voor Datum en Tijd in C++

De C++ standaardbibliotheek biedt geen eigen datumtype. C++ overerft de structs en functies voor datum- en tijdmanipulatie van C. Om toegang te krijgen tot datum- en tijdgerelateerde functies en structuren, moet u de header file includen in uw C++ programma.

Er zijn vier tijd-gerelateerde typen: clock_t, time_t, size_t, en tm. De typen - clock_t, size_t en time_t zijn in staat om de systeemtijd en datum als een soort integer weer te geven.

De structuurtype tm houdt de datum en tijd in de vorm van een C-structuur met de volgende elementen:

 struct tm {
  int tm_sec;   // seconden van minuten van 0 tot 61
  int tm_min;   // minuten van uren van 0 tot 59
  int tm_hour;  // uren van dag van 0 tot 24
  int tm_mday;  // dag van maand van 1 tot 31
  int tm_mon;   // maand van jaar van 0 tot 11
  int tm_year;  // jaar sinds 1900
  int tm_wday;  // dagen sinds zondag
  int tm_yday;  // dagen sinds 1 januari
  int tm_isdst; // uren van zomertijd
} 

Hier volgen de belangrijke functies die we gebruiken tijdens 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 via de referentie naar de C++ standaardbibliotheek hieronder.

Nr. Functie & Doel
1

time_t time(time_t *time);

Dit retourneert de huidige kalendertijd van het systeem in aantal seconden 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 string van de vorm dag maand jaar uren:minuten:seconden jaar\n\0.

3

struct tm *localtime(const time_t *time);

Dit retourneert een pointer naar de tm structuur die lokale tijd vertegenwoordigt.

4

clock_t clock(void);

Dit retourneert een waarde die het bedrag aan tijd benadert dat het aanroepende programma al draait. Een waarde van .1 wordt geretourneerd als de tijd niet beschikbaar is.

5

char * asctime ( const struct tm * time );

Dit retourneert een pointer naar een string die de informatie bevat opgeslagen in de structuur waarnaar time wijst, geconverteerd naar de vorm: dag maand datum uren:minuten:seconden jaar\n\0

6

struct tm *gmtime(const time_t *time);

Dit retourneert een pointer naar de tijd in de vorm van een tm structuur. De tijd wordt vertegenwoordigd in Coordinated Universal Time (UTC), wat essentieel Greenwich Mean Time (GMT) is.

7

time_t mktime(struct tm *time);

Dit retourneert het kalendertijd-equivalent van de tijd gevonden in de structuur waarnaar time wijst.

8

double difftime ( time_t time2, time_t time1 );

Deze functie berekent het verschil in seconden tussen time1 en time2.

9

size_t strftime();

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

Huidige Datum en Tijd

Stel u wilt de huidige systeemdatum en tijd ophalen, ofwel als lokale tijd of als Coordinated Universal Time (UTC). Hier is het voorbeeld om dit te bereiken:

Live Demo
 #include <iostream>
#include <ctime>
using namespace std;
int main() {
  // huidige datum/tijd gebaseerd op huidige systeemtijd
  time_t now = time(0);
  // converteer now naar string vorm
  char* dt = ctime(&now);
  cout << "The local date and time is: " << dt << endl;
  // converteer now naar tm struct voor UTC
  tm *gmtm = gmtime(&now);
  dt = asctime(gmtm);
  cout << "The UTC date and time is:"<< dt << endl;
} 

Wanneer de bovenstaande code gecompileerd en uitgevoerd wordt, produceert het het volgende resultaat:

 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 

Tijd Formatteren met struct tm

De tm structuur is erg belangrijk tijdens het werken met datum en tijd in C of C++. Deze structuur houdt de datum en tijd in de vorm van een C-structuur zoals hierboven vermeld. De meeste tijdgerelateerde functies maken gebruik van de tm structuur. Hier volgt een voorbeeld dat gebruikmaakt van diverse datum- en tijdfuncties en de tm structuur:

Terwijl ik structuur in dit hoofdstuk gebruik, maak ik de aanname dat u basiskennis heeft van C-structuur en hoe u structuurleden benadert met de pijl -> operator.

Live Demo
 #include <iostream>
#include <ctime>
using namespace std;
int main() {
  // huidige datum/tijd gebaseerd op huidige systeemtijd
  time_t now = time(0);
  cout << "Number of sec since January 1,1970 is:: " << now << endl;
  tm *ltm = localtime(&now);
  // print diverse componenten van tm structuur.
  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 gecompileerd en uitgevoerd wordt, produceert het het volgende resultaat:

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

C Taal

  1. Spanning en stroom berekenen in reactieve DC circuits
  2. C++ Structuren vs Classes: Een praktische gids voor embedded-ontwikkelaars
  3. C++ variabelen, literalen en constanten: een uitgebreide gids
  4. C++ klassen & objecten: praktische gids voor object-georiënteerd programmeren
  5. C++ Geheugenbeheer meesteren: Expert gebruik van new en delete
  6. C++ Overerving Beheersen: Public, Protected & Private Uitgelegd
  7. C++ Friend Functies en Friend Classes: Toegangscontrole Beheersen
  8. C++ Overloading Beheersen: Functies & Operators Uitgelegd
  9. File I/O in C++ Beheersen: Lezen en Schrijven met fstream
  10. Huidige datum en tijd ophalen in Python: een praktische gids
  11. Java 8: De Robuuste Nieuwe Date/Time API