如何计算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;
}

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...