2016-12-30 60 views
1

我的客户在印度和美国的服务器。如果用户从印度提交他的帖子,它会存储在美国服务器上,所以当我向用户显示提交后时间时,这是根据美国时间。我想根据客户时区显示它如何维护时区

+1

js日期没有时区,他们只是数字,所以你应该能够简单地重新格式化它们。 – dandavis

+0

看看这是否有助于你。 http://stackoverflow.com/questions/41264307/how-to-handle-date-between-india-time-on-client-side-and-server-date-in-us-time/41265842#41265842 – Veeram

回答

2

处理时区的最简单方法是在后台使用Epoch time,并在渲染(或使用客户端代码)上将其翻译为用户首选的时区。

时间是自1970年1月1日成为伦敦以来的秒数。例如,现在时间是1483130714.这意味着我们有一个简单的数字,可以毫不费力地进行比较和排序,以表示精确的时刻,而不必关心日期,时区,地区和令人沮丧的细节。几乎所有常用语言都有能力将这些数字解析为自己的时间戳值。在JavaScript中,您可以使用new Date(1483130714)来完成此操作。你会得到一个日期对象,然后你可以提出,但是你喜欢(例如与toLocaleString)。

如果你不使用纪元时间,你会希望使用UTC,这是次最好的事情。重要的是以一致的普遍理解的格式存储,然后根据需要将其转换为用户的首选表单。

1

您需要以UTC格式存储日期,然后根据浏览器文化和时区进行转换。因此,将所有日期存储在UTC中,并根据浏览器文化可以添加偏移量,如果用户设置错误的文化和时间,这可能会非常棘手。