C++ Date and Time
C++ Date and Time
C++ Date and Time
Advertisements
The C++ standard library does not provide a proper date type. C++ inherits the structs and functions
for date and time manipulation from C. To access date and time related functions and structures, you
would need to include <ctime> header file in your C++ program.
There are four time-related types: clock_t, time_t, size_t, and tm. The types - clock_t, size_t and
time_t are capable of representing the system time and date as some sort of integer.
The structure type tm holds the date and time in the form of a C structure having the following
elements −
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
}
Following are the important functions, which we use while working with date and time in C or C++.
All these functions are part of standard C and C++ library and you can check their detail using
reference to C++ standard library given below.
1
time_t timetimet ∗ time ;
This returns the current calendar time of the system in number of seconds elapsed since
January 1, 1970. If the system has no time, .1 is returned.
2
char *ctimeconsttimet ∗ time ;
This returns a pointer to a string of the form day month year hours:minutes:seconds
year\n\0.
3
struct tm *localtimeconsttimet ∗ time ;
4
clock_t clockvoid ;
https://www.tutorialspoint.com/cgi-bin/printpage.cgi 6/23/2019
C++ Date and Time Page 2 of 3
This returns a value that approximates the amount of time the calling program has been
running. A value of .1 is returned if the time is not available.
5
char * asctime conststructtm ∗ time ;
This returns a pointer to a string that contains the information stored in the structure
pointed to by time converted into the form: day month date hours:minutes:seconds
year\n\0
6
struct tm *gmtimeconsttimet ∗ time ;
This returns a pointer to the time in the form of a tm structure. The time is represented in
Coordinated Universal Time UT C , which is essentially Greenwich Mean Time GMT .
7
time_t mktimestructtm ∗ time ;
This returns the calendar-time equivalent of the time found in the structure pointed to by
time.
8
double difftime timet time2, timet time1 ;
This function calculates the difference in seconds between time1 and time2.
9
size_t strftime ;
This function can be used to format date and time in a specific format.
Live Demo
#include <iostream>
#include <ctime>
int main() {
// current date/time based on current system
time_t now = time(0);
cout << "The local date and time is: " << dt << endl;
https://www.tutorialspoint.com/cgi-bin/printpage.cgi 6/23/2019
C++ Date and Time Page 3 of 3
tm *gmtm = gmtime(&now);
dt = asctime(gmtm);
cout << "The UTC date and time is:"<< dt << endl;
}
When the above code is compiled and executed, it produces the following result −
The local date and time is: Sat Jan 8 20:07:41 2011
While using structure in this chapter, I'm making an assumption that you have basic understanding on
C structure and how to access structure members using arrow -> operator.
Live Demo
#include <iostream>
#include <ctime>
int main() {
// current date/time based on current system
time_t now = time(0);
cout << "Number of sec since January 1,1970:" << now << endl;
tm *ltm = localtime(&now);
When the above code is compiled and executed, it produces the following result −
https://www.tutorialspoint.com/cgi-bin/printpage.cgi 6/23/2019