编程语言
首页 > 编程语言> > C 语言 时间函数使用技巧(汇总)

C 语言 时间函数使用技巧(汇总)

作者:互联网

在介绍时间函数用法之前,我们首先要了解在 time.h 头文件中已经声明了的一个结构: struct tm
该结构在time.h 头文件内声明如下:

#ifndef _TM_DEFINED
#define _TM_DEFINED
  struct tm {
    int tm_sec;
    int tm_min;
    int tm_hour;
    int tm_mday;
    int tm_mon;
    int tm_year;
    int tm_wday;
    int tm_yday;
    int tm_isdst;
  };
#endif

该结构内个成员所代表的意思:

struct tm 
   {
       int tm_sec;        //秒(0~61)
       int tm_min;        //分(0~59)
       int tm_hour;       //小时(0~23)
       int tm_mday;       //日(1~31)
       int tm_mon;        //月份(0~11)
       int tm_year;       //年,从1970年至今经过的年数
       int tm_wday;       // 星期:(0~6)
       int tm_yday;       // 天数(0~365)
       int tm_isdst;      //夏令时 daylight-saving time
   }

下面来介绍几种时间函数的用法:

//函数名称:
time();
//函数原型:
time_t __cdecl time(time_t *_Time) 
{ 
	return _time64(_Time);
}
//函数功能:得到机器的日历时间或设置日历时间
//函数返回机器日历时间
//用法:
参数说明: timer = NULL 时得到机器日历时间, timer = 时间数值值,用于设置日历时间, time_t  是一个long 类型
#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t timer;
    timer = time(NULL);
    printf("%ld\n", timer);
}

运行结果是 秒数:在这里插入图片描述
将这个秒数通过时间戳在线转换网站转换为年月日
在这里插入图片描述

//函数名称:
localtime();
//函数原型:
struct tm *__cdecl localtime(const time_t *_Time) 
{
	return _localtime32(_Time); 
}
//函数功能: 返回一个以 tm结构表达的机器时间信息
//函数返回:以 tm 结构表达的时间
//用法:
#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t timer;
    struct tm *tblock;
    timer = time(NULL);
    tblock = localtime(&timer);
    printf("当地时间是 %s", tblock);
}

直接使用 tblock的值 输出结果是有问题的:
在这里插入图片描述
想要获取日常使用的时间格式 要多使用一个函数:

//函数名称:
asctime();
//函数原型:
char *__cdecl asctime(const struct tm *_Tm) 
//函数功能:获取机器时间(日期时间转换成ASCII码)
//函数返回:返回的时间字符串格式为: 星期,月,日,小时:分:秒,年
//用法:
#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t timer;
    struct tm *tblock;
    timer = time(NULL);
    tblock = localtime(&timer);
    printf("当地时间是 %s", asctime(tblock));
}
//另一种用法:
//结合 struct tm 结构
#include <stdio.h>
#include <time.h>
#include <string.h>

int main(void)
{
    struct tm t;
    char str[80];

    t.tm_sec = 1;
    t.tm_min = 3;
    t.tm_hour = 7;
    t.tm_mday = 22;
    t.tm_mon = 11;
    t.tm_year = 56;
    t.tm_wday = 4;
    t.tm_yday = 0;
    t.tm_isdst = 0;
    strcpy(str, asctime(&t));
    printf("%s", str);
}

标签:CSS,处理器,编程,函数,运算,框架,代码,node,语法
来源: