C 以小时为单位找出两个日期之间的差异?
例如,我可以通过查看这两个日期来计算这两个日期的差异,但在程序中计算这两个日期时,我没有任何线索 日期:A是C 以小时为单位找出两个日期之间的差异?,c,C,例如,我可以通过查看这两个日期来计算这两个日期的差异,但在程序中计算这两个日期时,我没有任何线索 日期:A是2014/02/12(y/m/d)13:26:33,B是2014/02/14(y/m/d)11:35:06,则小时差为46 您可以使用来计算C中两次之间的差值。但是,它使用mktime和tm double difftime(time_t time1, time_t time0); 您可以使用来计算C中两次之间的差值。但是,它使用mktime和tm double difftime(time
2014/02/12(y/m/d)13:26:33
,B是2014/02/14(y/m/d)11:35:06
,则小时差为46 您可以使用来计算C
中两次之间的差值。但是,它使用mktime
和tm
double difftime(time_t time1, time_t time0);
您可以使用来计算C
中两次之间的差值。但是,它使用mktime
和tm
double difftime(time_t time1, time_t time0);
从1970年1月1日起,将两个日期(datetimes)转换为秒,这是一种简单的方法(更不用说时区)。建造差异和(塔达)偏差3600
如果我没记错的话,mktime()应该做这项工作
HTH一个简单的方法(不谈时区)是从1970年1月1日起将两个日期(日期时间)转换为秒。建造差异和(塔达)偏差3600
如果我没记错的话,mktime()应该做这项工作
HTH我假设您的存储时间是字符串:as
“2014/02/12 13:26:33”
要计算时差,您需要使用:
函数difftime()
将两个日历时间之间的差值计算为time\t
对象(time\u end-time\u beg
),以秒为单位。如果time\u end
指的是time\u beg
之前的时间点,则结果为负值。现在的问题是difftime()
不接受字符串。我们可以通过两个步骤将字符串转换为中定义的结构,正如我在回答中所述:
char*
时间字符串转换为
strtime()
函数使用format指定的格式,将buf指向的字符串转换为存储在tm指向的tm结构中的值。要使用它,您必须使用文档中指定的格式字符串:
对于您的时间格式,我将解释格式字符串:
// Y M D H M S
strptime("2014/02/12 13:26:33", "%Y/%m/%d %T", &tmi)
其中tmi
是struct tm
结构
我假设您的存储时间是字符串:as
“2014/02/12 13:26:33”
要计算时差,您需要使用:
函数difftime()
将两个日历时间之间的差值计算为time\t
对象(time\u end-time\u beg
),以秒为单位。如果time\u end
指的是time\u beg
之前的时间点,则结果为负值。现在的问题是difftime()
不接受字符串。我们可以通过两个步骤将字符串转换为中定义的结构,正如我在回答中所述:
char*
时间字符串转换为
strtime()
函数使用format指定的格式,将buf指向的字符串转换为存储在tm指向的tm结构中的值。要使用它,您必须使用文档中指定的格式字符串:
对于您的时间格式,我将解释格式字符串:
// Y M D H M S
strptime("2014/02/12 13:26:33", "%Y/%m/%d %T", &tmi)
其中tmi
是struct tm
结构
你是以字符串的形式输入的吗?你检查过那个问题了吗?阅读difftime,我如何在数月、数天、数小时和数分钟内使用它,而不是程序的处理时间?您是否以字符串的形式获得输入?您是否检查了该问题?阅读difftime,我如何在数月、数天、数小时和数分钟内使用它,而不是在程序中使用处理时间?