Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
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

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.

 

 

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