Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events 重复;事件“;(日历)_Events_Date_Calendar - Fatal编程技术网

Events 重复;事件“;(日历)

Events 重复;事件“;(日历),events,date,calendar,Events,Date,Calendar,我目前正在开发一个应用程序,允许人们为在线电台安排“节目” 我希望用户能够设置重复事件,例如:- “狂躁星期一”节目-从9月11日起每周一 “月中疯狂”-每月第二个星期四 “本月新音乐”-每月1日 在您看来,什么是建模的最佳方式(基于MVC/MTV结构) 注意:我实际上是用Django编写的。但我更感兴趣的是它背后的理论,而不是具体的实现细节。我有一个想法,即在保存原始事件时,应使用新模型生成重复事件。这意味着我不会在每次加载日历时都进行随机处理(这意味着我也可以,例如,取消一个系列中的一个“节

我目前正在开发一个应用程序,允许人们为在线电台安排“节目”

我希望用户能够设置重复事件,例如:-

“狂躁星期一”节目-从9月11日起每周一 “月中疯狂”-每月第二个星期四 “本月新音乐”-每月1日

在您看来,什么是建模的最佳方式(基于MVC/MTV结构)


注意:我实际上是用Django编写的。但我更感兴趣的是它背后的理论,而不是具体的实现细节。

我有一个想法,即在保存原始事件时,应使用新模型生成重复事件。这意味着我不会在每次加载日历时都进行随机处理(这意味着我也可以,例如,取消一个系列中的一个“节目”),但也意味着我必须将其限制在特定的时间范围内,因此如果有人说,一年后,他们将不会看到这些重复的节目。但在某个时刻,它们(可能)必须被重新生成。

啊,重复的事件——我生命中的祸根之一,还有时区。日历很难

您可能希望根据以下方面对此进行建模。然而,这可能会给你带来比你真正想要的更大的灵活性和复杂性

需要考虑的几件事:

  • 您需要比给定日期的特定时间更精细的粒度吗?如果你也需要根据时间来重复,那就变得更加棘手了
  • 考虑一下日期角的情况,比如“每月30日”,以及这对闰年意味着什么
  • 考虑“每天凌晨1点30分”这样的时间拐弯情况——有时凌晨1点30分可能发生两次,有时由于夏令时的原因根本不会发生
  • 您是否需要与其他时区的人共享时间表?这让生活再次变得棘手
  • 您是否需要表示事件发生的次数,或事件发生的最终日期?(“Count”或“until”基本上)您可能不需要其中一个,或者您可能需要一个或两个

我意识到这不仅仅是一个确定的答案,而是一系列需要思考的事情,但我认为在你试图制定解决方案之前,定义问题的参数是很重要的。

通过阅读其他帖子,Martin Fowler最好地描述了反复发生的事件。

有人为Java实现了这些类。

一些很棒的评论。。。即使不是一个确定的答案。您通常会使用“异常”事件取消/更改重复周期中的一个事件。嗯。。我没想过!