在 C 中,我试图获取“下周二上午 10 点”之前的天数和小时数。我没有确切的日期,因为这是一个重复发生的事件。
这就是我想要的:
下周二上午 10 点 = 3 天零 4 小时。
最佳答案
第 1 步:
获取当前工作日。
示例:
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
现在,timeinfo->tm_wday
中已包含当前工作日,其值介于 0 到 6 之间。
第 2 步:
计算工作日的差值并乘以 24,加/减小时的差值,模除以 24 即可得到天数。
或
填充另一个 struct tm ,使用您拥有的信息(意味着在包装月份或年份时需要小心)和当前时间计算 future 日期。使用此 struct tm 计算 difftime()
,将结果秒转换为天和小时。
关于c - 如何在 ANSI C 中获取 X 之前的天数和小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32283667/