Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

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