zoukankan      html  css  js  c++  java
  • 时间戳与时间

    时间的重要结构

    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()为负。
        long int tm_gmtoff;  //指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数。
        const char *tm_zone;  //当前时区的名字(与环境变量TZ有关)。
    };
    

    1. 日期、时间 转换为时间戳

    已知:年(Year),月(Month),日(Day),时(Hour),分(Minute),秒(Second)

    #include <time.h>

    tm TM; TM.tm_sec = Second;//Second : [0,59] TM.tm_min = Minute;//Minute : [0,59] TM.tm_hour = Hour;//Hour : [0,23] TM.tm_mday = Day;//Day : [1,31] TM.tm_mon = Month - 1;//Month : [1,12] TM.tm_year = Year - 1900;//Year : 实际年份
    //时间戳 time_t time = mktime(&TM);

    2. 本地时间,格林尼治时间

    #include <time.h>
    
    tm *gmtTM, *localTM;
    
    time_t t = time(NULL);//当前时间戳
    
    gmtTM = gmtime(&t);//格林尼治时间
    
    localTM = localtime(&t);//本地时间
    
  • 相关阅读:
    【BZOJ 1598】 牛跑步
    【SDOI 2010】 魔法猪学院
    【POJ 2449】 Remmarguts' Date
    【HDU 3085】 Nightmare Ⅱ
    【POJ 3635】 Full Tank
    【POJ 2230】 Watchcow
    USB设备驱动总结
    经典SQL语句大全
    float型数据与字节数组的转化
    linux下dmesg命令详解
  • 原文地址:https://www.cnblogs.com/idoublewei/p/3958693.html
Copyright © 2011-2022 走看看