用C ++将天数转换为星期

时间:2013-02-01 00:34:59

标签: c++

我试图在C ++中将X天的总量转换为X周数,这是我在网上看到的并且无法正常工作:

int weeks = ((days % 365) / 7);

例如,如果days = 8,那么从技术上来说它是在第2周,所以int周应该是= 2.类似地,15天应该输出3。

感谢。

3 个答案:

答案 0 :(得分:8)

假设days是整数类型,您可以使用:

int weeks = (days + 6) / 7

这是有效的,因为整数除法会截断任何小数部分。

答案 1 :(得分:1)

整数除法将截断结果。为了获得周数,您需要选择该部门的ceil。如果你只想要那些代表一年内几周的日子,你就保留mod,否则就不要。

换句话说:

int weeks = (int)ceil(days / 7.0);

http://www.cplusplus.com/reference/cmath/ceil/

答案 2 :(得分:0)

如果还有剩余时间,您只需添加一个

int weeks = days / 7 + (days % 7 ? 1 : 0);