在C中,我试图得到“下周二上午10点”之前的天数和小时数。我没有确切的日期,因为这是一个重复发生的事件。这就是我想要的下周二上午10点= 3天零4小时。
8ljdwjyq1#
第一步:获取当前工作日。示例:
time_t rawtime; struct tm * timeinfo; time(&rawtime); timeinfo = localtime(&rawtime);
现在您在timeinfo->tm_wday中有了当前的工作日,值从0到6。第二步:计算平日的差乘以二十四,加/减小时的差,模除以二十四得到天数。或填充另一个struct tm,使用您所拥有的信息(意味着在 Package 月份或年份时需要注意)和当前时间计算未来日期。使用此结构tm计算difftime(),将结果秒转换为天和小时。
timeinfo->tm_wday
struct tm
difftime()
1条答案
按热度按时间8ljdwjyq1#
第一步:
获取当前工作日。
示例:
现在您在
timeinfo->tm_wday
中有了当前的工作日,值从0到6。第二步:
计算平日的差乘以二十四,加/减小时的差,模除以二十四得到天数。
或
填充另一个
struct tm
,使用您所拥有的信息(意味着在 Package 月份或年份时需要注意)和当前时间计算未来日期。使用此结构tm计算difftime()
,将结果秒转换为天和小时。