TL;DR: 在使用“团队假期日历”用例时,如果团队成员在不同时区回复,日历会显示项目结束时间过早。
复现步骤:
- 已安装日历插件。
- 创建一个主题供团队用作“外出办公”或“假期”日历。按照示例将该日历嵌入到主题的首条帖子中。
- 让团队成员以回复的形式添加他们的假期,例如:
[date=2020-02-05 timezone="America/New_York"] → [date=2020-02-07 timezone="America/New_York"] 愉快的假期
预期行为:
- 时区设置为
America/Los_Angeles的用户在日历网格上应看到上述示例占用 2 月 5 日、6 日和 7 日全天,与事件创建者看到的一致。
实际行为:
- 时区设置为
America/Los_Angeles的用户在日历网格上会看到上述示例占用 2 月 4 日、5 日和 6 日全天,而事件创建者看到的是正确的 2 月 5 日、6 日和 7 日。
推测原因:
似乎当事件条目中未提供具体时间时,系统会假设开始时间为 00:00,并且假设结束时间也为该条目中指定时区的 00:00。因此,在上述洛杉矶时区用户的例子中,纽约的同事的 2 月 5 日至 7 日假期实际上是从洛杉矶时间 2 月 4 日 21:00 开始,并在洛杉矶时间 2 月 6 日 21:00(即纽约时间 2 月 7 日 00:00)结束。
至少可以推断,如果未指定时间,系统应默认将提供日期的结束时间设为 23:59:59,而不是 00:00:00。
此外,对于未提供具体时间的活动,似乎应该无论时区如何都进行渲染,以确保它们始终与作者声明的内容一致,而不受查看者时区的影响。
