如何在ANSI C中获取X之前的天数和小时数

sr4lhrrt  于 2023-03-28  发布在  其他
关注(0)|答案(1)|浏览(92)

在C中,我试图得到“下周二上午10点”之前的天数和小时数。我没有确切的日期,因为这是一个重复发生的事件。
这就是我想要的
下周二上午10点= 3天零4小时。

8ljdwjyq

8ljdwjyq1#

第一步:
获取当前工作日。
示例:

time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);

现在您在timeinfo->tm_wday中有了当前的工作日,值从0到6。
第二步:
计算平日的差乘以二十四,加/减小时的差,模除以二十四得到天数。

填充另一个struct tm,使用您所拥有的信息(意味着在 Package 月份或年份时需要注意)和当前时间计算未来日期。使用此结构tm计算difftime(),将结果秒转换为天和小时。

相关问题