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

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


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


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

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

这里的主要收获是:

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