C語言中tm時間結構體

C語言中tm時間結構體
2008年08月08日 星期五 10:16 A.M.
struct tm
{
int tm_sec;                   /* Seconds.     [0-60] (1 leap second) */
int tm_min;                   /* Minutes.     [0-59] */
int tm_hour;                  /* Hours.       [0-23] */
int tm_mday;                  /* Day.         [1-31] */
int tm_mon;                   /* Month.       [0-11] */
int tm_year;                  /* Year - 1900. */
int tm_wday;                  /* Day of week. [0-6] */
int tm_yday;                  /* Days in year.[0-365] */
int tm_isdst;                 /* DST.         [-1/0/1]*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/ #ifndef _TM_DEFINED                                                                                           /
/ struct tm {                                                                                                            /
/ int tm_sec; /* seconds after the minute - [0,59] */          /
/ int tm_min; /* minutes after the hour - [0,59] */               /
/ int tm_hour; /* hours since midnight - [0,23] */                   /
/ int tm_mday; /* day of the month - [1,31] */                     /
/ int tm_mon; /* months since January - [0,11] */                /
/ int tm_year; /* years since 1900 */                                        /
/ int tm_wday; /* days since Sunday - [0,6] */                      /
/                int tm_yday; /* days since January 1 - [0,365] */               /
/ int tm_isdst; /* daylight savings time flag */                           /
/ };                                                                                                             /
/ #define _TM_DEFINED                                                                                        /
/ #endif                                                                                                                     /
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#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;
}



具體操做函數
包含文件:<sys/time.h> <time.h> 

tm *gmtime(time_t * t);
time_t time(time_t *t);
char *asctime(const struct tm *timeptr);
char *ctime(const time_t *timer); 
把tm指針轉換爲time_t
time_t mktime(struct tm *timeptr);
localtime和gmtime的區別在於gmtime將時間轉換爲國際標準格式,也就是相對於1970 00:00:00開始的時間戳
而localtime是相對於本地的時區的格式。
#include<stdio.h>
#include<time.h>
#include<sys/time.h>
#include<signal.h>
#include<pthread.h>
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; }
相關文章
相關標籤/搜索