时间操作(struct tmtime_t)

Posted 那一剑的风情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间操作(struct tmtime_t)相关的知识,希望对你有一定的参考价值。

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 tmtime_t)的主要内容,如果未能解决你的问题,请参考以下文章

Swift class和struct异同点

Golang中 struct{} 和 struct{}{}区别

带有 STRUCTS 数组的 Bigquery python SchemaField()

如何知道结构体中某个成员相对结构体开始的偏移

struct,enum和uion

结构体struct