我应该如何处理客户端 - 服务器应用程序上的时区?

时间:2015-03-21 16:20:36

标签: ruby-on-rails database datetime client-server

我有一个iOS应用程序和一个rails后端。

iOS客户端允许用户以(年|月|日)格式选择日期。没有时间,最好使用00:00:00。

最佳做法是什么,我应该使用什么?

1)客户端是否应将时间转换为UTC,然后将其保存到服务器。然后当客户端获取时间时,将其转换回用户本地时间?

2)客户端应该随时推送它,并留给服务器决定如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

以下是我对我的应用做的事情:

后端/服务器仅处理UTC。始终将UTC时间存储到MySQL数据库(或您正在使用的任何数据库)中。

将时差逻辑的转换推送到客户端。大多数客户都有第三方解决方案来处理时间转换(对于iOS,请检查:https://github.com/yannickl/YLMoment)。

在移动客户端中,我仍然将UTC中的时间存储到本地数据库中。我进行任何转换的唯一时间是在UI上显示日期。这允许用户进入不同的时区,日期将更新以反映当地时区。