![]() |
Linux
Application Development |
Michael K. Johnson Erik W. Troan |
#include <stdio.h>
#include <sys/time.h>
#include <unistd.h>
int main() {
struct timeval tv;
struct timezone tz;
time_t now;
/* beginning_of_time is smallest time_t-sized value */
time_t beginning_of_time = 1L<<(sizeof(time_t)*8 - 1);
/* end_of_time is largest time_t-sized value */
time_t end_of_time = ~beginning_of_time;
printf("time_t is %d bits long\n\n", sizeof(time_t)*8);
gettimeofday(&tv, &tz);
now = tv.tv_sec;
printf("Current time of day represented as a struct timeval:\n"
"tv.tv_sec = 0x%08x, tv.tv_usec = 0x%08x\n"
"tz.tz_minuteswest = 0x%08x, tz.tz_dsttime = 0x%08x\n\n",
tv.tv_sec, tv.tv_usec, tz.tz_minuteswest, tz.tz_dsttime);
printf("Demonstrating ctime()%s:\n", sizeof(time_t)*8 <= 32 ? "" :
" (may hang after printing first line; press control-C)");
printf("time is now %s", ctime(&now));
printf("time begins %s", ctime(&beginning_of_time));
printf("time ends %s", ctime(&end_of_time));
exit (0);
}