Strftime 在不同的机器/服务器中显示时区的不同缩写



我正在调试Rails应用程序中的显示问题,该应用程序输入用户时区和计划时间,并将其格式化为用户可读的计划时间字符串。在这种情况下,用户时区是叶卡捷琳堡,奇怪的是,使用 Ubuntu 16.04 的 AWS 服务器和配备优胜美地的 Macbook 之间显示的时间缩写不同。Ruby 版本都是相同的 (2.2.6p396(,并且都是相同的 Rails 应用程序(具有相同的 Gemfile 和 Gemfile.lock(。这是我用来解析时区和时间的行:

ActiveSupport::TimeZone.new("Ekaterinburg").parse("11:29 am").strftime("%l:%M%p %Z")

服务器中显示的格式化时间为

"上午 11:29 +05">

虽然我的本地计算机中显示的格式化时间是

"上午 11:29 YEKT">

任何帮助不胜感激,提前感谢。

根据strftime的文档:

%z- Time zone as hour and minute offset from UTC (e.g. +0900)

%Z- 缩写时区名称或类似信息。 (取决于操作系统(

如果希望它保持一致,请使用%z

最新更新