如何计算C#中的两个日期之间的天数减去星期日?

前端之家收集整理的这篇文章主要介绍了如何计算C#中的两个日期之间的天数减去星期日?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建图书馆管理系统.

我使用时间戳来计算日期差异,并在日期差异的帮助下,我也在计算Fine.

现在这个日期差异包括一周中的所有日子.但是对于图书馆申请,罚款应仅在周内收取6天(周一至周六).

我不能这样做

任何人都可以帮我执行这项任务吗?

提前致谢!!

解决方法

实质上,您可以计算原始天数;您需要找到要从该数字中减去的星期日数.你知道每7天是星期天,所以你可以将原始天数除以7,然后从原始天数中减去这个数字.现在你需要删除在周的剩余时间里的星期天数;一天的原始天数将告诉你剩下的日子.要知道这个跨度是否包括星期天,你必须知道第一天的星期几;如果将星期一定义为0,星期二为1,星期三为3等,则如果将跨度开头的星期几的值添加到原始数字的mod(7)天数,如果数字是6或更大,你已经跨越了一个星期天,应该从你的罚款中删除1天.

伪码:

int fine;
int numdays =  endDay - startDay;

fine = numdays - (numdays / 7);

int dayOfWeek = startDate.DayOfWeek;
if (dayOfWeek + (numdays % 7) > 6)
{
   fine = fine - 1;
}

猜你在找的C#相关文章