问题标签 [recurring-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1051 浏览

php - 从固定时隙列表生成完整日历中的重复事件

我有一份医生和病人的名单,他们在几个月(长期治疗)中有固定的时间表,如图所示:

有固定时间表的患者名单

所以 Clarice 将在每周一的 09:00 到 10:00 与 Fenwick 博士预约,直到日程被删除

我将该信息保存到表格中:

  • 标识(整数)
  • 天 (1,2,3,4,5) 星期一=1,星期二=2...
  • fk_doctor
  • fk_耐心
  • 开始时间)
  • 时间结束)

A)我应该如何从该表中生成重复事件列表,以便填充 jQuery fullcalendar 组件?

B)将重复的重复事件的整个列表保存到表中会好多少(或最佳)?

我在 B) 中看到的唯一优点是可以为每个事件保存评论,很容易在全日历中加载,但我会有很多记录,速度或加载时间会受到很大影响,因为我显示的数据只是真实情况的0.00001%

感谢您提出的任何想法/意见

0 投票
1 回答
2916 浏览

javascript - 如何使用 JavaScript 从 Google Calendar API 检索所有事件

阅读 Google API 文档,很容易在日历中检索事件,但我意识到有一些例外:

1- 经常性事件:在其他帖子中检索这些事件有很多问题。我在其他帖子中找到的解决方案是将 singleEvents 设置为 true,但不幸的是,在这种情况下,全天事件会出现问题。

2- 通常每个事件都应该有一个 id,这是一个唯一的代码。当您检索事件的重复时,ID 将具有类似“mainEventID_recurrenceTimestamp”的模式,但是当您检索日历中的事件列表时,事件 ID 中不应有下划线。但是,有时当有人更新您日历上的事件时,例如更新事件的位置,将会有两个事件对于所有属性具有相同的值,唯一的区别是更新的属性(位置)和 ID。更新的事件将具有类似“mainEventID_recurrenceTimestamp”的 id。在这种情况下可能会出现两种类型的问题:

a) 您将检索和处理同一事件的两个实例。b) 当你想在你的第一个请求中找到所有的重复事件,并在后面的请求中检索所有的重复事件,并且你传递了像“mainEventID_recurrenceTimestamp”这样的模式的id,将没有响应。

我花了一些时间来找出这些异常,并编写了几行 JavaScript 代码来解决这些异常并从日历中检索所有事件,包括重复事件和全天事件。

我把我的代码放在这里,所以如果其他人遇到类似的异常,他们将能够使用此代码。如果您改进此代码,我将不胜感激,因此其他人可以从中受益:

0 投票
1 回答
1108 浏览

google-apps-script - 仅在工作日从 Google 表格创建定期 Google 日历活动

以下代码完美运行。但是,我现在需要让重复事件仅在工作日 (MF) 出现。例如,如果我在 2014 年 9 月 2 日设置了一个定期会议,那么以后的会议最终将在周末举行。这些定期会议怎么可能只在工作日出现?例如,如果会议在星期六举行,则将其移至前一天(星期五)。另一方面,如果会议在星期日举行,则将其移至次日(星期一)。这可能吗?

我曾尝试使用 CalendarApp.Weekday.MONDAY 等...函数,但它最终从代码中重写了 .addMonthlyRule() 函数...

0 投票
1 回答
1262 浏览

javascript - FullCalendar 重复事件数组

我正在为 fullcalendar 开发一个经常性事件后端,我遇到了一个奇怪的问题。

我的事件是在名为 events.php 的页面上计算的。日历显示在 index.php 上并从 events.php 调用事件。我在 events.php 上的函数为重复事件输出正确的字符串,但 index.php 上的日历只显示每次重复事件中的第一个事件。但是,如果我复制数组生成的字符串并将其直接粘贴到 events.php 页面并注释掉 render_fccalendar_events(); 函数并在生成字符串的 events.php 的末尾,日历将正确显示所有重复发生的事件。从我可以看到函数的输出和我粘贴到页面中的内容来看,index.php 上的日历完全相同。显然存在一些差异,因为它不会使它们相同。知道这里发生了什么吗?

这是 events.php 代码:

这是 events.php 页面的输出

这是调用 events.php 输出的 index.php 代码:

0 投票
2 回答
1213 浏览

javascript - 谷歌脚本:如何从谷歌日历中获取定期事件?

各种网站上有一个流行的脚本,可以轻松地将 Google 日历事件导出到 Google 电子表格。它工作正常......除了它不适用于重复事件。

这是代码的症结所在:

然后只需要遍历“事件”的成员。问题似乎是重复事件以“getEvents”无法理解的另一种方式定义。因此,查询仅包含重复事件的日期范围一无所获。

我想知道是否有人编写了一些可以正确查询重复事件的代码?

罗伯特

0 投票
0 回答
1288 浏览

php - 填充事件重复 VS 基于重复规则查询日历事件

我正在为客户端的 PHP/mySQL 日历应用程序创建规范。必须解决的问题之一是经常发生的事件,其发生率由诸如“每年在 5 月的第一个周末”之类的规则确定。客户希望能够设置诸如“3 月至 6 月的第三个星期四发生”等规则。

客户要求他们有能力定义这些,而不是在未来 X 年内用它们预先填充事件发生率表。

是否有任何现有的日历解决方案允许这种基于模式的重复?

是否有任何日历系统基于此类规则进行查询,而不是在创建或更新重复事件时使用参数在事件表中生成重复事件的发生率?

到目前为止我正在阅读的内容:

一个。 http://martinfowler.com/apsupp/recurring.pdf

湾。 http://www.kanzaki.com/docs/ical/recur.html

C。 https://www.rfc-editor.org/rfc/rfc5545#page-37

d。 https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.3

e. iCalendar“字段”列表(用于基于 iCalendar 标准的数据库模式)

F。 在日历应用程序中模拟重复事件的最佳方法是什么?

G。 http://en.wikipedia.org/wiki/ICalendar#Technical%5Fspecifications

H。 http://muddybranch.thejkgroup.com/2005/01/why-remove-icalendar-recurring-rules/

一世。 在构建日历应用程序时,我应该在我的数据库中存储日期或重复规则吗?

注意:这个建议存储重复规则,并基于这些存储硬实例提前 x 个月。

j. 用于存储重复事件的数据结构?

ķ。 在构建日历应用程序时,我应该在我的数据库中存储日期或重复规则吗?

一世。将您的数据分为两部分:“规范”数据(重复规则)和“服务”(生成日期;除了重新生成之外只读)。如果规范数据发生更改,请在该点重新生成“服务”数据。对于无限重复,保留一些实例并在用完时生成更多实例(例如,如果用户查看 2020 年的日历)。

l. 日历重复/重复事件 - 最佳存储方法 架构和 SQL 的唯一答案

米。 https://github.com/tusharmath/sheql 重复日期的语言

n. https://github.com/tplaner/When 这看起来非常适合根据规则生成日期——包括 RRULE 的

0 投票
0 回答
85 浏览

php - 添加具有相同信息的重复事件,但日期是 1 周后

我已经搜索并尝试了各种解决方案,但似乎没有得到这个。我有一个事件发生在每周的同一天。我希望能够将它添加到 MySQL 数据库中,以便在 16 个不同的周内输入相同的确切信息,这意味着只有 eventDate 字段会改变。

目前,添加事件的表单有一个标记为“重复”的复选框和一个用于初始事件日期的日期字段。然后,我尝试插入带有输入日期的初始记录,然后再循环插入另外 15 个插入,每次的日期设置为 1 周后,但其余数据与最初输入的数据相同。

我已经从表单提交中分配了变量,然后根据“重复”字段是否设置为 1 进行插入。我没有收到错误,但正在输入日期为 0000-00-00 的事件。当我删除“重复”测试并简单地进行直接插入时,它工作正常。

}

更新:我偶尔会看到这个问题,但还没有回答,所以想补充一点,如果我没有清楚地提出问题,请随时这么说,并要求提供更多/更好的信息。非常感谢...

0 投票
1 回答
50 浏览

ruby-on-rails - 增加时间戳时Rails时区更改

我正在尝试根据时间戳中的间隔创建重复事件,并体验似乎奇怪的行为:如果我继续将时间戳增加每周间隔(604800 秒),Rails 似乎会改变我的时区。

我究竟做错了什么?或者我在做什么来导致这个时区问题?

0 投票
1 回答
2693 浏览

php - 在 Laravel 中的特定日期监听和触发事件

我正在尝试制作一个通知脚本供我自己使用。这是我想要实现的目标。当用户注册时,我正在获取他们的电子邮件地址和他们提供的通知日期并将它们保存在配置文件表中。现在,在指定的通知日期,应用程序将自动向他们发送一封电子邮件。到目前为止,我很容易做到这一点的想法是使用“事件”;但是,如果我错了,请随时纠正我。根据我的想法,这是我打算做的;对于电子邮件,我可能会注册一个类作为事件的数据。

但我的第一个问题是如何在该通知日期收听事件?

而且我想每个月向他们发送通知,因此在发送电子邮件后,我将在用户提供的旧通知日期上增加一个月。添加一个月会很容易,因为我在输入中使用“碳”,同时保存通知日期。

所以,我的第二个问题是在更新通知日期后如何再次收听该事件?

最后,如果我有 100 个用户,并且我想在他们给出的通知日期和特定日期(例如每个月初)向每个人发送相同的通知。我怎样才能经常这样做?

请随时提出任何可能易于实施的建议,而不是我的想法。

0 投票
1 回答
381 浏览

recurring-events - DDay iCal RecurrenceId

我实际上使用的是 Telerik kendo 调度程序,而不是 iCal 文件,但我需要以调度程序议程列表以外的方式显示出现列表,并且调度对象和 ical 对象之间的映射相似,所以我想我会使用 DDay。

创建一个 iCalendar 对象并加载到计划表中,我的代码可以在其中构建发生列表并过滤掉从系列中删除的事件。我遇到问题的地方是系列中某个事件被修改的地方。

通过在创建系列中的修改事件时将数据存储在数据库中的方式,它会创建一个新记录并使用原始记录的事件 ID填充RecurrenceId字段。

看起来很简单,只需匹配 id 字段,对吧?问题是 DDay iCal 中的RecurrenceId是 IDateTime 而不是 int。我不知道如何处理它,因为我们有很多同时开始/结束的事件,所以抓住原始开始/结束似乎不可行。除非我误解了实际发生的事情。

如果修改事件是事件中主事件的唯一修改事件,我确实找到了一种处理修改事件的复杂方法。但是这种方法不考虑可能包括主事件和主事件的多个修改事件的发生序列。

我想一种可能的解决方案是从调度程序表中构建 2 个列表,其中一个列表仅修改了重复事件和其他主事件。

然后,当我处理事件时,我会检查每个事件以查看它是否存在于修改后的事件列表中。如果是这样,请相应地更新事件。然而,这似乎是一个非常笨拙的解决方案。即使它会解决所有修改后的场景。我想我在图书馆里遗漏了一些可以处理这个问题的东西。

一如既往,可以在此问题上提供的任何帮助将不胜感激。

谢谢,克里斯