C#中小时和分钟的时间跨度计算
最终结果应向用户显示开始时间和结束时间之间的时间跨度。(例如,早上 06:30 开始工作,晚上 18:30 结束,显示的结果应为 12 小时)。
现在,我必须使用 DateTime
参数;从时间和到时间 每个 DateTime
参数都具有 24 小时格式的小时,并且还可能具有 30 分钟的分钟值。
我愿意做的是获取这些 DateTime
参数之间的时间跨度。 对于我使用此方法的时间:
Public TimeSpan GetHourSpan(DateTime fromTime, DateTime toTime)
{
TimeSpan fromH = TimeSpan.FromHours(fromTime.Hour);
TimeSpan toH = TimeSpan.FromHours(toTime.Hour);
TimeSpan hourTotalSpan = toH.Subtract(fromH);
return hourTotalSpan;
}
这很棒,我的问题是获取以分钟为单位的时间跨度(如果有),最后将其添加到 TimeSpan
对象中进行显示。
如果上述方式都有 30 分钟的时间跨度,则将返回 0,然后我必须开始检查每个参数是否在 min 属性中具有值。
难道没有一种简单的方法可以将小时和分钟的时间跨度组合在一起吗?
The final result should display the user the time span between the start hour and the end hour.(e.g. start work at 06:30 AM and finished at 18:30 PM, the result to display should be 12 hours).
Now, I have to DateTime
parameters; fromTime and toTime
Each DateTime
parameter have an hour in 24 hour format, and also might have a minutes value of 30 min.
What I willing to do is to get the time span between those DateTime
parameters.
For the hours I used this method:
Public TimeSpan GetHourSpan(DateTime fromTime, DateTime toTime)
{
TimeSpan fromH = TimeSpan.FromHours(fromTime.Hour);
TimeSpan toH = TimeSpan.FromHours(toTime.Hour);
TimeSpan hourTotalSpan = toH.Subtract(fromH);
return hourTotalSpan;
}
This is great, my problem is to get the time span in minutes if there is, and finally add it to the TimeSpan
object to display.
If both have 30 min time span in the above way will return 0, and than I have to start check every parameter if it have a value in the min property.
Isn't there an easy way to get time span for hours and min together?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果从
DateTime
中减去DateTime
,结果是TimeSpan
。所以你可以简单地采取If you deduct a
DateTime
from aDateTime
, the result is a aTimeSpan
. So you can simply take