【发布时间】:2016-12-07 22:26:52
【问题描述】:
我不知道如何为日期添加值。想象一下,我有一个像 2012-5-15 这样的日期。在我解析它之后,我分别获得了年、月和日,并尝试使用 time_t 和 mktime 将我的确切日期转换为天数。我是否有机会将其转换回我找到的天数或秒数的日期?这是我尝试执行此操作的代码的一部分;
if(operation="+"){
tm tm1=make_tm(year,mon,day);
time_t time1=mktime(&tm1);
int seconds_per_day=60*60*24;
time_t second=time1/seconds_per_day;
int sum=second //Trying to convert to the int from my time_t, don't know
//if it is neccesary
sum=sum+value //the value I want to add
所以,基本上如果我提供像 2012/5/15 这样的输入。它使用该方法计算它经过了多少天,但我只需要将其转换为日期并使其显示。你有什么想法吗?
【问题讨论】:
-
time_t 是自 epoc(1970 年 1 月 1 日,00:00:00 UTC)以来的秒数。见this
-
对不起,如果这无关紧要,但如果您使用了
<chrono>库,那么您已经为这些类定义了运算符+。 -
是的,我将它转换为之后的天数并将其存储为一天。然后,我在那天增加了我的价值。我可以将日期视为天数,但我需要再次将其转换为日期(YYYY-M-D)
-
我没有使用 chrono 库。其实,我试过了,但是嗯....还有其他方法吗?
-
总是有的,只是还没弄明白! ;P