📅 新日历功能:循环活动的结束日期

您现在可以在 Discourse Calendar 中为重复事件设置结束日期了!:sparkles:

这项备受期待的功能允许您指定重复事件系列何时停止,从而让您更好地控制事件安排。

创建每天、每周或每月重复的事件 - 现在还可以确定它们的确切结束时间。

有关日历插件及其功能的更多详细信息,请访问官方日历主题

未来,我们可能会添加排除特定工作日的可能性。

22 个赞

关于“直到 (Until)”这个词,一个棘手的问题是,它是否包含在内并不完全明显?我们可以在这里做些什么来提供更好的清晰度吗?

2 个赞

是的,Google 日历也存在同样的问题!他们使用 On,但它存在同样的歧义:

但是,我认为大多数用户会安全地假设 Until 包含该日期。

3 个赞

直到(包含):

编辑:我现在这样做了 UX: better copy by jjaffeux · Pull Request #737 · discourse/discourse-calendar · GitHub 看起来是个简单的好改动。


另一种解决方案是在日期输入旁边显示实际的日期/时间,但可能有点多余?

3 个赞

您可能想借鉴我在一个电子商务项目中实现的代金券开始/结束日期的想法,我正在开发这个项目:


另一个例子,展示了灵活性以及我们如何避免在用户界面中出现日期范围的歧义:


技术细节: 在我们的应用程序中,我们始终将日期存储为“带时区的戳”(postgres),因此没有任何数据库设置或连接设置会影响实际存储的时间戳。尽管 Postgres 不推荐这样做,但我们还是这样做了,因为它在任何情况下和任何 SQL 查询中都能 100% 保证日期的正确性。您可以使用 Postgres 的日期/时间/时区函数直接在 Postgres 中操作日期时区,并确信它始终 100% 正确。我们依赖它。

然后,我们为所有需要它的实体设置了时区:用户配置文件、市场、代金券、会计报告等——这样我们就可以毫不犹豫地即时将任何日期转换为任何时区。

这里的主要收获是:

  1. 始终以带时区的格式存储日期和时间。
  2. 始终存储时区偏好。
  3. 在用户界面中明确日期,不要搞什么“魔法”。
  4. 让用户在点击“保存”之前看到所选时区的实际日期。
1 个赞