zoukankan      html  css  js  c++  java
  • linux下关于time相关函数的总结

    1. time 函数
        返回1970-1-1, 00:00:00以来经过的秒数
        原型: time_t time(time_t *calptr) 
             结果可以通过返回值,也可以通过参数得到,见实例
        头文件 <time.h>
        返回值: 
            成功:秒数,从1970-1-1,00:00:00 可以当成整型输出或用于其它函数
            失败:-1
        例:
          time_t now;
          time(&now);// 等同于now = time(NULL)
          printf("now time is %d
    ", now);
    2. localtime函数
        将时间数值变换成本地时间,考虑到本地时区和夏令时标志;
     原型: struct tm *localtime(const time_t * calptr); 
     头文件 <time.h>
     返回值:
            成功: struct tm *结构体, 原型如下:
                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日 */ 
                       int tm_isdst;    /* 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 */    
                };
                    此结构体空间由内核自动分配, 而且不要去释放它.
            失败: NULL
     例:
    time_t now ;
    struct tm *tm_now ;
    time(&now) ;
    tm_now = localtime(&now) ;
    printf("now datetime: %d-%d-%d %d:%d:%d
    ", tm_now->tm_year+1900, tm_now->tm_mon+1, tm_now->tm_mday, tm_now->tm_hour, tm_now->tm_min, tm_now->tm_sec) ;

    3. gmtime()
         头文件:time.h
         原型:struct tm *gmtime(long *clock);
         功能:把日期和时间转换为格林威治(GMT)时间的函数。将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。
         此函数返回的时间日期未经时区转换,而是UTC时间。
         返回值 返回结构tm代表目前UTC 时间
      
    #include "stdio.h"
    #include "time.h"
    #include "stdlib.h"
    int main(void)
    {
    time_t t;
    struct tm *gmt, *area;
    tzset(); /* tzset()*/
    t = time(NULL);
    area = localtime(&t);
    printf("Local time is: %s", asctime(area));
    gmt = gmtime(&t);
    printf("GMT is: %s", asctime(gmt));
    return 0;
    }

        4.mktime()

      头文件:time.h

      原型:time_t mktime(strcut tm * timeptr);
      函数说明:mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。
      返回值:返回经过的秒数。   mktime()转换的时间带有时区

      例子:

      

    /* 用time()取得时间(秒数),利用localtime()
    
    转换成struct tm 再利用mktine()将struct tm转换成原来的秒数*/
    
    #include <stdio.h>
    
    #include <time.h>
    
    main()
    {
    
        time_t timep;
    
        strcut tm *p;
    
        time(&timep);
    
        printf("time() : %d /n",timep);
    
        p=localtime(&timep);
    
        timep = mktime(p);
    
        printf("time()->localtime()->mktime():%d/n",timep);
    
    }

     5.asctime()

      头文件:

      函数原型:char *asctime(const struct tm *tblock);

      函数说明:将tm结构类型时间日期转换为ASCII码。

      例子:

    int main()
    {
        time_t t;
        struct tm *p;
    
        t=time(NULL);
        p=localtime(&t);
        printf("%s
    ", asctime(p));
        return 0;
    }

      

     
  • 相关阅读:
    python 操作ie登陆土豆网
    python网络编程学习笔记(3):socket网络服务器
    python趣味编程:借书方案(排列组合)
    扑克牌洗牌
    C#开发的两个原则的深入讨论(转)
    软件文档知多少?(转)
    反射点滴Common
    使用ASP.NET加密口令(转)
    asp.net 备份和恢复SQL SERVER 数据库
    编程规范程序员们都应该这样写代码(转)
  • 原文地址:https://www.cnblogs.com/new-ass/p/7649856.html
Copyright © 2011-2022 走看看