C++ 获取时间方法

我们先来看一段获取本地时间的代码:

#pragma warning(disable: 4996)
#include <time.h>

	time_t curtime = time(0);
	tm tim = *localtime(&curtime);
	cout << tim.tm_year + 1900 << "年" 
		<< tim.tm_mon + 1 << "月" 
		<< tim.tm_mday << "日" << " " 
		<< tim.tm_hour << ":" 
		<< tim.tm_min << ":" 
		<< tim.tm_sec << "\t";

在这里插入图片描述
Time()获取当前日历时间(从1899年12月31日0时0分0秒至今),
tm * localtime(const time_t * timer)将日历时间转换为本地时间,
还可以用tm * gmtime(const time_t *timer)将日历时间转换为世界标准时间,

而tm结构的定义如下:

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;
	 };

而输出方式有示例的输出结构体对象中的各个域,以及如下两种:

char * asctime(const struct tm * timeptr); 
char * ctime(const time_t *timer);

asctime()的使用方式同示例,将tm结构对象的各个域填充到时间字符串相应位置

time_t curtime = time(NULL);
tm * tim = localtime(&curtime);
cout << asctime(tim);

在这里插入图片描述
而ctime()则是先将日历时间转换为本地时间,再生成格式字符串

time_t curtime = time(NULL);
cout << ctime(&curtime);

在这里插入图片描述
我们还可以使用time_t mktime(struct tm * timeptr)函数将用tm结构表示的时间转化为日历时间

		 struct tm tim;
	     time_t curtime;
	     tim.tm_year = 1998 - 1900;
	     tim.tm_mon = 5;
	     tim.tm_mday = 27;
	     tim.tm_hour = 0;
	     tim.tm_min = 0;	
	     tim.tm_sec = 1;
	     tim.tm_isdst = 0;
		 curtime = mktime(&tim);
		 cout << ctime(&curtime);

在这里插入图片描述
除此之外还有自定义时间输出格式,截取时间段等操作可自行拓展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值