我需要担心我的应用程序中的时区吗?

问题描述:

我目前有我的应用程序(Web应用程序)的功能版本。我的应用程序允许用户在线安排约会。提交约会时,我是否需要考虑时区?所以如果有人住在纽约使用我在加利福尼亚州的应用程序,我需要调整预约时间作为日期时间戳存储的时间吗?我需要担心我的应用程序中的时区吗?

如果时区仍然在所有这些中发挥作用,我会在整个Web上看到UTC并不十分理解。有人能指导我如何为我的应用程序采取什么方法?

谢谢你的时间!非常感谢!

UTC日期是全球相同的日期/时间。您的应用程序的每个用户都有一个到此日期/时间的本地偏移量,因此您的应用程序可以根据UTC日期和偏移量为每个用户计算正确的日期时间。

此偏移量基于用户的位置,可能由浏览器通过JavaScript或通过浏览器提供(取决于您是在谈论Web应用程序或桌面还是电话应用程序,您没有提及)底层OS。

因此,简而言之,将所有日期存储为UTC,并计算每个用户的正确日期以将其显示在您的应用程序中。

大多数编程语言都具有内置或可通过扩展使用的功能。 Google将“语言环境”或“本地化”(l10n)与您正在使用的语言或框架结合起来,以了解如何准确实施此功能。

编辑:你在你的应用程序中具体询问约会;如果您的应用程序在Web服务器上运行,则会使用Web服务器的日期时间设置,因此,当您将用户的日期时间与服务器上的当前时间进行比较时(例如查看约会是否到期),可能会导致您遇到麻烦

当您想比较不同时区中两个用户的约会以查看它们是否重叠时,它也会失败。

如果您的应用程序只在本地运行,没有*存储,它将可以正常工作,而不诉诸于UTC日期时间。

+1

对不起,我目前的应用程序是一个Web应用程序。我非常喜欢你的回应,因为它更详细了解我需要做什么来实现我想要的目标:)感谢你的反馈! :) – rapid3642

+0

回应你的编辑:我明白了,所以如果我以UTC存储约会时间,这应该解决那些服务器时间问题是否正确?然后当然在客户端进行本地化以便在正确的时间显示约会? – rapid3642

+0

是的。在服务器端,您可以比较UTC日期时间来检查重叠情况。只要您获得用户的(本地化)日期,请在计算或存储它之前将其转换为UTC。在计算或从存储中获取UTC日期后,在显示之前将它们转换为用户区域设置。再次,有扩展和框架可用于处理大多数这些转换。 –

是的,您需要正确处理时区,因为日历应采用系统日期,因为全球范围内的不同用户会有所不同。

+0

非常感谢你!我会尽我所能,尽快实现这个目标:)。很高兴知道我的担忧是有效的。感谢您花时间给我一些指导! – rapid3642

是的,考虑时区。

如果您可以在传输和存储它们之前调整UTC的日期和时间,那么您将很容易就能够弥补夏令时的奇怪。

如果您只调整UTC时间返回显示和输入,根据您的用户的区域设置,然后您可以安排在世界各地。