获取两个字符串日期的差值的方法

本文介绍了如何计算以“yymmddhhmmss”格式的字符串日期之间的差值。通过将日期转换为time_t格式,可以方便地计算两个日期之间相差的秒数。这种方法避免了直接计算天数和秒数的复杂操作。虽然time_t在长整形范围内有限制,但在当前仍可使用约二十年。
摘要由CSDN通过智能技术生成

日期的格式:“yymmddhhmmss”是一个字符串,计算两个日期之间的差值,显然就是计算两个日期之间相差的秒数,有个简洁的方法是将字符串转化为time_t格式,然后求取差值。

用time_t表示的时间(日历时间)是从一个时间点(例如:1970年1月1日0时0分0秒)到此时的秒数

我们可以看到它的定义是这样的

#ifndef _TIME_T_DEFINED
typedef long time_t;           /* 时间值 */
#define _TIME_T_DEFINED       /* 避免重复定义 time_t */
#endif

由于长整形数值大小的限制,它所表示的时间不能晚于2038年1月18日19时14分07秒,所以现在我们还能放心的使用二十多年。

将时间转化为time_t格式,其实就是整型,然后求取差值,即可得出两个时间之间相差的秒数了。具体代码就不写了。

我当初没有想到此方法,用了一种比较笨的办法,就是计算:相差天数*1440*60+相差秒数

代码大概是这样的:

//获取两个时间相差分钟数
int GetDifMin(string strTime1, string strTime2)
{
	if (strTime1.length() != 12 || strTime2.length() != 12)
	{
		return -1;
	}
	if (strTime1.compare(strTime2) < 0)
	{
		string
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值