时间戳与时间

时间的重要结构

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);//本地时间

 

posted @ 2014-09-05 20:54  idoublewei  阅读(713)  评论(0编辑  收藏  举报