Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57191
  • 博文数量: 19
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-03 15:03
文章分类
文章存档

2011年(1)

2009年(8)

2008年(10)

我的朋友

分类: LINUX

2009-04-14 09:44:36

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]*/

#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); 
把tm指针转换为time_t
time_t mktime(struct tm *timeptr);
localtime和gmtime的区别在于gmtime将时间转换为国际标准格式,也就是相对于1970 00:00:00开始的时间戳
而localtime是相对于本地的时区的格式。
#include
#include
#include
#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;
}

阅读(1264) | 评论(1) | 转发(0) |
0

上一篇:什么是SDK

下一篇:最快速度找到内存泄漏

给主人留下些什么吧!~~

chinaunix网友2010-03-11 20:52:57

#ifndef _TM_DEFINED struct tm { int tm_sec; /* 秒 - 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值区间为[0,23] */ int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */ int tm_mon; /* 月份(从一月开始,0代表一月)- 取值区间为[0,11] */ int tm_year; /* 年份,其值等于实际年份减去1900 */ int tm_wday; /* 星期–取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */ int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推