【发布时间】:2011-02-13 12:26:23
【问题描述】:
我正在组装我的第一个 ruby 脚本,它应该为我的计算机设置唤醒时间 (Kubuntu 10.04)。
wake_h = 7
wake_m = 40
t = Time.now
puts "Current system time: #{t.to_s}"
t += 24*60*60 unless t.hour.between?(0, 5)
tvals = t.to_a
tvals[0,3] = 0 , wake_m, wake_h
wt = Time.local(*tvals)
puts "Setting wake up time to: #{wt.to_s}"
`rtcwake -m no -t #{wt.to_i}`
产生以下输出:
Current system time: Sun Feb 13 13:15:08 +0100 2011
Setting wake up time to: Mon Feb 14 07:40:00 -0100 2011
显然 Ruby 假定我的本地时区为 -0100,尽管当前系统时间产生另一个(正确的)时区 +0100。可能时间使用了错误的语言环境(我需要德国的时区)或存在 DST 问题(我们目前在德国有 DST)。如何检查/设置本地时间使用?
问候,尼拉迪斯
【问题讨论】: