我的应用使用了宝石印象派,我正在记录我的应用的展示次数。
在我在生产服务器上运行它之前,一切运行良好。
突然间,所有指标都提前了5个小时(我在美国东部时间多伦多)。
向多伦多的最终用户显示数据的适当方法是什么?那些向加州人展示印象数据的最佳方式是什么?在当地时间显示指标的最佳方法或算法是什么?
我担心来自加利福尼亚的用户会在第二天凌晨4点看到印象增加,但他们仍然是前一天晚上8点。这不会杀死应用程序,但它绝对是一种奇怪的用户体验。
答案 0 :(得分:1)
这取决于您希望用户对时区的控制程度。
例如,对于您的初始问题,最简单的解决方案可能是将Rails应用程序的默认时区设置为EST,因为您的生产服务器可能设置为UTC(5小时差异)。然后简单地说明您的时间基于EST的某个地方向用户解释了为什么度量标准在他们一天的时间内布置。
为了更好的用户控制,提供允许用户设置自己的时区的首选项会很不错。然后,在应用程序控制器中使用过滤器为当前用户的每个请求设置时区,而不是全局配置。这可能需要花费相当多的时间来完成您的应用,并确保应用程序显示/解析的所有时间都在正确显示。
这是一篇简短的文章,展示了这两种方法的实际代码http://databasically.com/2010/10/22/what-time-is-it-or-handling-timezones-in-rails/