有关时间的函数积累

本文提供了多种时间操作的方法,包括计算时间差、获取当前日期和时间、格式化时间以及时间比较等功能,适用于开发过程中的时间处理需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

相信大家在开发过程中经常需要获取当前的时间的问题, 下面总结了一些相关函,方便遇到的时候使用

  • 计算两个时间相差多少分钟
//获取当前时间,格式为time_t
time_t current_time;
time(&current_time);

//获取两个时间相隔多少分钟
long remainSec = difftime(time_t _Time1, time_t _Time2)
long minute = remainSec / 60;
  • 不同格式的时间函数
//获取今日日期
inline std::string GetTodayDate()
{
	time_t timep;
	time(&timep);
	char tmp[64];
	strftime(tmp, sizeof(tmp), "%Y-%m-%d", localtime(&timep));
	return tmp;
}
//获取今日时间
inline std::string GetCurrentDateTime()
{
	time_t timep;
	time(&timep);
	char tmp[64];
	strftime(tmp, sizeof(tmp), "%Y-%m-%d %H:%M:%S", localtime(&timep));
	return tmp;
}

std::string get_local_time()
{
	struct tm *t;
	time_t tt;
	time(&tt);
	t = localtime(&tt);
	char time[256];
	sprintf_s(time,sizeof(time), "%4d/%02d/%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
	return time;
}


//获取今日时间
inline std::string GetDateTime()
{
	time_t timep;
	time(&timep);
	char tmp[64];
	strftime(tmp, sizeof(tmp), "%Y-%m-%d %H%M%S", localtime(&timep));
	return tmp;
}
//比较时间
inline bool CompareTime(const char* time1, const char* time2)
{
	int year1, month1, day1, hour1, min1, sec1;
	int year2, month2, day2, hour2, min2, sec2;
	sscanf(time1, "%d-%d-%d %d:%d:%d", &year1, &month1, &day1, &hour1, &min1, &sec1);
	sscanf(time2, "%d-%d-%d %d:%d:%d", &year2, &month2, &day2, &hour2, &min2, &sec2);
	int tm1 = year1 * 10000 + month1 * 100 + day1;
	int tm2 = year2 * 10000 + month2 * 100 + day2;
	if (tm1 != tm2){
		return false;
	}
	else{
		//比较到分钟
		tm1 = hour1 * 3600 + min1 * 60 ;
		tm2 = hour2 * 3600 + min2 * 60 ;//将时分秒转换为秒数
		if (tm1 == tm2){
			return true;
		}
		else{
			return false;
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值