繁体   English   中英

c#如何根据日期范围动态生成事件

[英]How to generate events dynamically according to date range in c#

我有一个用 C# 编写的应用程序来允许用户管理事件,添加时我允许用户添加重复类型每天、每月、每周和另一个选项来选择它应该重复多少次或直到它应该是哪一天重复。

现在,在显示事件时,我需要显示一周内可用的所有事件。

例如:用户今天添加了一个事件,该事件每天重复 30 天

显示事件时,我使用查询事件

var events = db.Evnt.Where(l => l.repeatTill >= weekEnd).ToList()

获得结果后,我需要生成重复事件并将其显示给用户,我该如何实现

最终输出应该是这样的

E1
11/24/2019 10:00 - 11/24/2019 11:00
E1
11/25/2019 10:00 - 11/25/2019 11:00
E1
11/26/2019 10:00 - 11/26/2019 11:00
E1
11/27/2019 10:00 - 11/27/2019 11:00
E1
11/28/2019 10:00 - 11/28/2019 11:00
E1
11/29/2019 10:00 - 11/29/2019 11:00
E1
11/30/2019 10:00 - 11/30/2019 11:00
E1
12/01/2019 10:00 - 12/01/2019 11:00

如果用户从 11/24/2019 - 12/08/2019 过滤,输出应该是

E1
11/24/2019 10:00 - 11/24/2019 11:00
E1
11/25/2019 10:00 - 11/25/2019 11:00
E1
11/26/2019 10:00 - 11/26/2019 11:00
E1
11/27/2019 10:00 - 11/27/2019 11:00
E1
11/28/2019 10:00 - 11/28/2019 11:00
E1
11/29/2019 10:00 - 11/29/2019 11:00
E1
11/30/2019 10:00 - 11/30/2019 11:00
E1
12/01/2019 10:00 - 12/01/2019 11:00
E1
12/02/2019 10:00 - 12/02/2019 11:00
E1
12/03/2019 10:00 - 12/03/2019 11:00
E1
12/04/2019 10:00 - 12/04/2019 11:00
E1
12/05/2019 10:00 - 12/05/2019 11:00
E1
12/06/2019 10:00 - 12/06/2019 11:00
E1
12/07/2019 10:00 - 12/07/2019 11:00
E1
12/08/2019 10:00 - 12/08/2019 11:00

我怎样才能做到这一点?

您可以根据可用数据计算日期范围之间的差异,然后运行循环以生成该日期范围的事件。 确保将事件的开始日期更改为计算时差时使用的日期范围开始日期的开始日期。

那么,根据您的数据,您知道(或可以计算)事件的第一个实例和最后一个实例之间的日期范围? 然后你只需要计算这些日期之间的天数..

那么这个答案应该有帮助: 计算两个日期之间的差异(天数)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM