devxlogo

Converting a time_t Value to a tm Struct

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 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   using namespace std;  int main()  {    time_t current;    tm local;    time(¤t ); //get current time_t value    local = * (localtime(¤t)); //dereference and assign   }
See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist