我正在计算dateTimePicker2
和dateTimePicker1
之间的差异,并将其转换为分钟,
durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
问题是,例如,如果差值为“00:17:40”,则为durinmin = 18
。但我想保留仅完成分钟的值,即durinmin=17
是我希望程序考虑的值。如何获得它?
答案 0 :(得分:7)
说过我不会期待这种行为,我只是注意到Convert.ToInt32
轮而不是截断 - 所以它的行为完全符合预期。 TotalMinutes
属性返回17.6666(等),其被舍入为18。
您需要做的就是使用强制转换代替方法 - 转换为int
将截断为0:
TimeSpan difference = dateTimePicker2.Value - dateTimePicker1.Value;
int minutes = (int) difference.TotalMinutes;
答案 1 :(得分:1)
只需使用Math.Floor
durinmin = (int)Math.Floor((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
答案 2 :(得分:1)
不使用TotalMinutes,而是使用TimeSpan的Minutes属性:
socket