UI设计:在同一日历上显示不同时区的事件
我想在日历上为我的网络服务客户显示事件。关于这些事件的时区,有四种可能的情况:
- 事件是客户本地的并且位于同一时区。例如,与当地企业的会议。
- 活动实际位于与客户不同的时区,但它是“虚拟”活动,客户将在自己的时区参加活动。例如,客户可能想观看通过互联网直播的音乐会,但音乐会在世界其他地方。
- 这是一个纯粹虚拟的活动,所有与会者都将在自己的时区体验它。例如,电话会议。
- 活动与客户处于不同的时区,但客户将亲自前往该地点参加活动。例如,他们正在参加的另一个州的会议。
更复杂的是,我的服务将通过电子邮件或短信发送这些事件的提醒。我想这实际上并不难——在实际地点时间前一小时向参加该活动的每个人发送 1 小时提醒。每个人都会在相同的 UTC 时间获得它,但他们的当地时间可能会有所不同。
因为我的用户将会旅行,所以他们可能不会位于单一时区。那么我是否需要根据他们当前的 IP 号码或 HTML5 地理位置不断更改他们日历上的活动时间?如果下午 4 点的活动现在显示在用户日历上的下午 2 点,这不会让用户感到困惑吗?
是否有显示这些时区复杂性的最佳实践?
这个SO问题类似,但它并没有真正涉及如何处理旅行用户以及我的问题的其他方面。
I'd like to show events on a calendar for my web service's customers. There are four scenarios possible in regards to timezones for these events:
- An event is local to the customer and is in the same timezone. For example, a meeting with a local business.
- An event is physically located in a different timezone than the customer, but it is a "virtual" event and the customer will be attending it in their own timezone. For instance, the customer may want to watch a concert streamed live over the internet, but the concert is somewhere else in the world.
- An event it purely virtual, and all attendants will be experiencing it from their own timezone. For instance, a conference call.
- An event is in a different timezone than the customer, but the customer will be physically travelling to that location to attend the event. For instance, a conference in another state that they are attending.
To complicate things more, my service is going to send reminders via email or text of these events. I suppose this actually isn't hard -- a 1 hour reminder would be sent to everyone attending that event one hour before the time at the physical location. Everyone will get it at the same UTC time, but their local times might be different.
Because my users will be travelling, they will probably not be in a single timezone. So do I constantly change the times of their events on their calendars based on their current IP number or HTML5 geo location? Won't this confuse the users if an event that was at 4PM now shows at 2PM on their calendar?
Are there any best practices for displaying these timezone complexities?
This SO question is similar, but it doesn't really get into how to deal with travelling users and other aspects of my question.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
作为用户,我总是欢迎看到在我当前时区显示的事件。我还希望能够在创建活动时指定时区。在我正在使用的 Google 日历中,这是不可能的,当我安排会议电话或与不同时区的参与者进行其他活动时,此功能将非常有用。
关于 UI,请考虑这一点:
As a user, I would always welcome seeing events show in my current timezone. I would also love to be able to specify the timezone when creating an event. In Google Calendar, which I'm using, this is not possible and when I'm scheduling a conf call or whatever with participants in a different timezone, this feature would be very useful.
Regarding the UI consider this:
如果我是你,我不会根据用户的物理位置来更改时区。
您看,我的看法是(假设我是您服务的用户):我在手机或笔记本电脑上设置了一些时间。我看到预定的会议。我期望的是,事件上显示的时间与我的媒介设置相关,而不是与我的物理位置相关。这样我就知道还剩多少分钟/小时/天。
顺便提一句。根据我的特定区域设置格式化日期和时间也很重要,因此我不必猜测 11/09/10 是否意味着 2010 年 9 月 11 日或 2010 年 11 月 9 日,甚至2011 年 9 月 10 日。
If I were you, I wouldn't go to changing time zone based on user's physical location.
You see, the way I see it is (let's assume I am a user of your service): I've got some time set on my mobile phone or a laptop. I see a scheduled meeting. What I expect is, the time shown on the event is related to my medium settings as oppose to my physical location. That way I would know how many minutes/hours/days are left.
BTW. It is also important to format dates and times according to my specific locale, so I won't have to guess if 11/09/10 means 11 day of September 2010 or 9 day of November 2010 or even September 10, 2011.