#include 「time.h」

下面自我测试

  • | 返回程序启动到现在的运行时间是函数
  • | 将unix时间转化为字符时间
  • | 将格林时间转化为字符时间
  • | 将unix时间转化为格林时间
  • | 获取unix时间
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


/*
	注意:
	{
			1: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 到 11 
			int tm_year;         自 1900 起的年数 
			int tm_wday;         一周中的第几天,范围从 0 到 6 
			int tm_yday;         一年中的第几天,范围从 0 到 365 
			int tm_isdst;        夏令时 
		};
		
	}
	
	1;asctime()
	{
		作用:将tm结构体各部分的日历时间,转化为时间字符串!  用于采集到的时间数据赋值给tm结构体,并转化为字符串格式!
	
		注意:tm的必要的成员是必须要赋值的,否则tm结构体的数据不完整,不能正常asctime()转化为字符串!
	
		返回值:字符串指针!
	}

	2:clock()
	{
		作用:
			当程序启动时,clock()返回值=0ms
			随着程序进行,clock()能返回程序启动到现在的运行时间!
	}

	3:ctime()
	{
		1:与asctime()不同,ctime()将time()获取到的时间转化为字符串,而asctime()是将硬件采集到的tm结构体转化为时间字符串
		
		2:返回的时间字符串放在time_t这个64bite长度的空间
	}

	4:difftime(end,start)
	{
		返回值:end与start的时间差,类型 = int
	
		end与start由time()获取
	}

	5:gmtime()
	{
		作用:将time()获取的系统时间,拆分为tm结构!
		注意:拆分后的时间是标准时间,不是时区的时间,如果需要打印当地时间,就需要加上时差!
	}

	6:localtime()
	{
		作用:将time()获取的系统时间,拆分为tm结构!
		注意:拆分后的时间是当地时间,就不需要加上时差!
	}

	7:mktime()
	{
		作用:当tm结构体的一部分的值变化后,利用mktime()就可以将tm结构体所有部分相应的自动修改!
		就不用一个个的手动修改了!
	}

	8:time()
	{
		返回值:返回距离1970-1-1 00:00:00 已经过去多少秒!
	}

*/

void Time_Text1()
{
	struct tm t;
	t.tm_sec = 30;
	t.tm_min = 30;
	t.tm_hour = 12;
	t.tm_mday = 15;
	t.tm_mon = 6;
	t.tm_year = 10;
	t.tm_wday = 1;

	printf("时间:%s", asctime(&t));
}

void Time_Text2()
{
	clock_t Begin, End;

	Begin = clock();
	printf("\n程序运行到main函数用时:%ldms\n", Begin);


	for (size_t i = 0; i < SIZE_MAX; i++)
	{

	}

	End = clock();

	printf("\nmain函数用时:%ldms\n",End-Begin);
}

void Time_Text3()
{
	time_t Curtime;

	time(&Curtime);

	printf("当前时间:%s", ctime(&Curtime));
}

void Time_Text4()
{
	time_t Begin,End;
	
	time(&Begin);


	for (size_t i = 0; i < SIZE_MAX; i++)
	{

	}

	time(&End);

	printf("主函数用时:%d s",(int)difftime(End, Begin));
}

void Time_Text5()
{
	time_t Curtime;

	struct tm *My_tm;

	time(&Curtime);

	My_tm = gmtime(&Curtime);

	printf("当前时间->%d:%d", My_tm->tm_hour + 8, My_tm->tm_min);
}


void Time_Text6()
{
	time_t Curtime;

	struct tm* My_tm;

	time(&Curtime);

	My_tm = localtime(&Curtime);

	printf("当前时间->%d:%d", My_tm->tm_hour, My_tm->tm_min);
}


void Time_Text7()
{
	time_t Curtime;

	struct tm* My_tm;

	time(&Curtime);

	My_tm = localtime(&Curtime);

	int Year;
	int Month;
	int Day;

	printf("\n输入年:\n"); scanf_s("%d", &Year);
	printf("\n输入月:\n"); scanf_s("%d", &Month);
	printf("\n输入日:\n"); scanf_s("%d", &Day);

	My_tm->tm_year = Year - 1900;
	My_tm->tm_mon = Month - 1;
	My_tm->tm_mday = Day;

	mktime(My_tm);
	printf("今天是周%d!", My_tm->tm_wday);
}


void Time_Text9()
{
	time_t Time;

	Time = time(NULL);

	printf_s("距离1970-1-1 00:00:00 已经过去%d秒!", Time);
}


void TUME_TEXT()
{
	//asctime()使用方法!
	//Time_Text1();

	//clock()使用方法!
	//Time_Text2();

	//ctime()使用方法
	//Time_Text3();

	//difftime()使用方法
	//Time_Text4();

	//gmtime()使用方法
	//Time_Text5();

	//localtime()使用方法
	//Time_Text6();

	//mktime()使用方法
	//Time_Text7();

	//strftime()使用方法
	//Time_Text8();

	//time(NULL)使用方法
	Time_Text9();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值