如何在strftime方法中正确设置时间格式?

时间:2015-08-17 21:01:03

标签: ruby-on-rails datetime time format strftime

我有以下方法

 <%= message.created_at.strftime("%H:%M") %>

目前返回 21:00

我需要显示一个比通常格林威治时区提前3小时的欧洲/基辅时区。如何在方法输入中设置它?

2 个答案:

答案 0 :(得分:2)

你可以使用名为&#34; local_time&#34;的漂亮宝石。它负责在视图中本地呈现时间。它也有非常好的文档。访问https://github.com/basecamp/local_time

答案 1 :(得分:1)

如果您在数据库中以UTC格式存储时间,那么在您获取它时,该时间始终为UTC。您需要根据用户的本地时区显示它。您必须使用JavaScript执行此操作,请检查此article

或者,如果您只需要基辅时区,那么您可以做其他事情:

<%= message.created_at.in_time_zone('Europe/Kiev').strftime("%H:%M") %>