zoukankan      html  css  js  c++  java
  • 【乐畅】工作积累 ---- 时间获取各个方法

    方法没有最好,只有适不适合。

    选择合适的变量来存储日期和时间是根据应用场景而定的。

    C语言标准库中提供了以下有关时间的函数:

    1. time()函数可以得到一个从1900年1月1日0点0分0秒到目前的秒数

    2. localtime()函数,将该整数转换为一个时间结构体struct tm中。

    3. ctime()和asctime()函数,将时间机器数据转换成相应格式的字符串形式。

    一般,日期和时间都是用于展示,这样,用字符串变量存储是最合适的方法:

    char datetime[32];
    time_t t;
    struct tm *p;
    t=time(NULL);
    p=localtime(&t);
    strcpy( datetime, asctime(p) );

    当需要计算两个时间点之间的时间差时,用整型变量存储时间更为方便:

    time_t   t1, t2;
    t1=time(NULL);
    ... //do some work
    t2=time(NULL);
    printf("diff time t1 and t2=%d seconds ", t2-t1 );

    存储在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日,1代表1月2日,以此类推 */
        int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
    };
  • 相关阅读:
    mybatis中>=和<=的实现方式
    沙盒
    华硕 X201E 拆机
    延迟满足
    文本输入框自适应高度
    Qt实战之酷狗音乐
    协议栈处理中的conntrack HASH查找/Bloom过滤/CACHE查找/大包与小包/分层处理风格
    【processing】小代码3
    【processing】小代码2
    【processing】小代码
  • 原文地址:https://www.cnblogs.com/dudu580231/p/5669636.html
Copyright © 2011-2022 走看看