ruby - 将时间转换为其他时区

标签 ruby timezone ruby-1.8

我有一个这种格式的日期字符串 yyyy-mm-ddThh:mm:ss[Z]

我有一个时区字符串。例如“亚洲/加尔各答”

现在我想将这个日期字符串转换成给定时区的时区

例如如果日期是 2014-01-03T23:30:00Z ,那么在“亚洲/加尔各答”时区它将是 2014-01-04T05:00:00 。

我尝试使用 Time 库,但是 Time 库似乎没有任何可以转换为其他时区的方法 http://ruby-doc.org/core-1.8.6/Time.html#method-c-mktime .

最佳答案

你应该使用 TZInfo gem 。

require 'tzinfo'

tz = TZInfo::Timezone.get('Asia/Kolkata')
utc = DateTime.iso8601('2014-01-03T23:30:00Z')
local = tz.utc_to_local(utc)

关于ruby - 将时间转换为其他时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24577449/

相关文章:

java - 如何根据区域设置获取带有时区的数据时间模式?

python - pandas 时间戳到 posix 转换的奇怪行为

javascript - 正则表达式获取匹配后剩下的内容

ruby - 如何在 Ruby 1.8 中解析 URI 的查询部分?

ruby - ruby 1.8 和 ruby​​ 2.1 的向后兼容代码不适用于文件模块

ruby - 如果两个进程同时调用 File.read(path) 以获取 Ruby 中的同一路径,会发生什么情况?

ruby-on-rails - 行 "get '/patients/:id', 到 : 'patients#show' , 是什么 : 'patient' "do?

ruby 任务 : joining numbers to intervals

ruby - 收集 ruby​​ 脚本中的异常

ruby 散列作为散列的键