// C语言中tm结构体
// Time structure
// Structure containing a calendar date and time broken down into its components.
// The structure contains nine members of type int, which are (in any order):
struct tm
{
int tm_sec; // Seconds. [0-59] (1 leap second), Extra range to accommodate for leap seconds in certain systems.
int tm_min; // Minutes. [0-59], minutes after the hour 0-59
int tm_hour; // Hours. [0-23], hours since midnight
int tm_mday; // Day. [1-31], tm_mday day of the month 1-31
int tm_mon; // Month. [0-11], tm_mon months since January 0-11
int tm_year; // Year - 1900., tm_year years since 1900
int tm_wday; // Day of week. [0-6], tm_wday days since Sunday 0-6
int tm_yday; // Days in year.[0-365], tm_yday days since January 1 0-365
int tm_isdst; // DST. [-1/0/1], tm_isdst Daylight Saving Time flag The Daylight Saving Time flag (tm_isdst) is greater than zero if Daylight Saving Time is in effect,
// zero if Daylight Saving Time is not in effect, and less than zero if the information is not available.
#ifdef __USE_BSD
long int tm_gmtoff; /* Seconds east of UTC. */
__const char *tm_zone; /* Timezone abbreviation. */
#else
long int __tm_gmtoff; /* Seconds east of UTC. */
__const char *__tm_zone; /* Timezone abbreviation. */
#endif
};
在C语言中 有time_t tm timeval等几种类型的时间
// 1.time_t为typedef __int64 __time64_t;
// 2.
struct timeval
{
uint tv_sec;
uint tv.usec;
}
// 具体操作函数包含文件:
tm *gmtime(time_t * t);
time_t time(time_t *t);
char *asctime(const struct tm *timeptr);
char *ctime(const time_t *timer);
Sample code
把tm指针转换为time_t time_t mktime(struct tm *timeptr)
// 把tm指针转换为time_t time_t mktime(struct tm *timeptr);
// localtime和gmtime的区别在于gmtime将时间转换为国际标准格式,也就是相对于1970 00:00:00开始的时间戳而localtime是相对于本地的时区的格式。
// #include
//...
// #include
void quit_t()
{
printf("eixt now");
exit(-1);
}
int main()
{
/* struct timeval vt; gettimeofday(&vt , NULL);
while(1) {
printf("%u:%u/n",vt.tv_sec,vt.tv_usec); sleep(2); signal(SIGINT, quit_t);
} */
struct tm *tt;
time_t t = time(NULL);
tt = gmtime(&t);
// char *s = asctime(tt);
printf("%d-%d-%d %d:%d:%d"
, tt->tm_year + 1900
, tt->tm_mon + 1
, tt->tm_mday
, tt->tm_hour
, tt->tm_min
, tt->tm_sec
);
return 0;
}