首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗口: Rufus:‘`ENV['TZ'] =’欧洲/城市‘错误

窗口: Rufus:‘`ENV['TZ'] =’欧洲/城市‘错误
EN

Stack Overflow用户
提问于 2017-02-21 18:40:51
回答 1查看 406关注 0票数 1

我想安排一个作业每小时在我的windows机器上运行,并为此使用rufus-调度程序。但是,由于下面解释的时区错误,我无法继续。

代码语言:javascript
复制
require 'rufus-scheduler'

require 'rufus-scheduler'
require 'tzinfo/data'

ENV['TZ'] = 'Asia/Chennai'

scheduler = Rufus::Scheduler::singleton

scheduler.every '1h' do
  # job here
end

我不断地被这个错误所困扰。

代码语言:javascript
复制
 C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler- 3.3.4/lib/rufus/scheduler/zotime.rb:41:in `initialize': cannot determine timezone from nil (etz:"Asia/India",tnz:"Asi",tzid:"constant") (ArgumentError)
 Try setting `ENV['TZ'] = 'Continent/City'` in your script (see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler-  3.3.4/lib/rufus/scheduler/zotime.rb:206:in `new'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler- 3.3.4/lib/rufus/scheduler/zotime.rb:206:in `now'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler-3.3.4/lib/rufus/scheduler.rb:561:in `start'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler-3.3.4/lib/rufus/scheduler.rb:109:in `initialize'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler-3.3.4/lib/rufus/scheduler.rb:116:in `new'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rufus-scheduler-3.3.4/lib/rufus/scheduler.rb:116:in `singleton'
    from scheduler.rb:9:in `<main>'

有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-21 18:50:13

根据在错误消息中链接的维基百科文章,印度唯一有效的时区是Asia/Kolkata

因此,如果您设置

代码语言:javascript
复制
ENV['TZ'] = 'Asia/Kolkata'

你应该得到正确的时区。

也就是说,首先设置您的操作系统来设置正确的本地时区可能是个好主意。这允许其他软件在不需要在每个软件中单独配置特定时区的情况下正确地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42375399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档