舍入dateTimePicker值

时间:2015-12-23 08:25:03

标签: c# datetimepicker datetime-format

我正在计算dateTimePicker2dateTimePicker1之间的差异,并将其转换为分钟,

durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);

问题是,例如,如果差值为“00:17:40”,则为durinmin = 18。但我想保留仅完成分钟的值,即durinmin=17是我希望程序考虑的值。如何获得它?

3 个答案:

答案 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