码迷,mamicode.com
首页 > 其他好文 > 详细

时间操作(struct tm、time_t)

时间:2017-02-08 11:48:27      阅读:976      评论:0      收藏:0      [点我收藏+]

标签:操作   mkt   取值   日期   std   str   localtime   define   开始   

1.在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下:
#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代表星期一,以此类推 */


#include <stdio.h>
#include <time.h>

int main()
{
    time_t tnow;
    struct tm *ptm;
    time(&tnow);
    ptm = localtime(&tnow);//localtime把time_t类型转换成struct tm
    int ymd = (ptm->tm_year + 1900)*10000 + (ptm->tm_mon + 1)*100 + ptm->tm_mday;//localtime()所取得的日期,注意的是年份加上1900,月份加上1
    int hm = ptm->tm_hour*100 + ptm->tm_min;

 tnow = mktime(ptm);//mktime把struct tm类型转换成time_t
}

距9:30的分钟数可以表示成:
    min =  ptm->tm_hour*60 + ptm->tm_min - (9*60 + 30);

时间操作(struct tm、time_t)

标签:操作   mkt   取值   日期   std   str   localtime   define   开始   

原文地址:http://www.cnblogs.com/SZxiaochun/p/6377373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!