微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/csharp/96409.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐