Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: All
Jul 2, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Converting a time_t Value to a tm Struct

For humans, the time_t value is unintelligible. The Standard Library defines the struct tm that can represent date and time in a more readable form. The struct tm is declared in the header <time.h> as follows:

  struct tm
  int tm_sec;  // the number of elapsed seconds in the minute
  int tm_min;  // the number of elapsed minutes in  the hour 
  int tm_hour;  // the number of elapsed hours in the day (0-23)
  int tm_mday;  / /the number of elapsed days in the month (1-31)
  int tm_mon;  // the number of elapsed months  in the year (0-11)
  int tm_year;  //the numbers of elapsed years since 1900
  int tm_wday;  // the number of elapsed days in the week since Sunday (0-6)
  int tm_yday;   //the number of the elapsed days in the year (0-365)
  int tm_isdst;  // equals 1 if daylight savings is in effect, zero if not, -1 if unknown

To fill a tm object with the local time, you use the standard function

  struct tm* localtime (const time_t *pt);

The localtime() function takes a pointer to a valid time_t object, converts it to a local static tm struct and returns its address. Subsequent invocations of localtime() override the previous value of the local object. This example shows how to fill a tm object with the current local time.

  #include <ctime>
  using namespace std;
  int main()
    time_t current;
    tm local;
    time(¤t ); //get current time_t value
    local = * (localtime(¤t)); //dereference and assign 
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date