1
내 컴퓨터 (쿠분투 10.04)의 시간을 설정하는 첫 번째 루비 스크립트를 어셈블 중입니다.Time.local()에서 예기치 않은 시간대를 사용합니다
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}`
다음 출력이 생성됩니다 : 현재의 시스템 시간이 0100의 또 다른 (올바른) 시간대를 얻을 수 있지만
Current system time: Sun Feb 13 13:15:08 +0100 2011
Setting wake up time to: Mon Feb 14 07:40:00 -0100 2011
그래서 분명히 루비, -0100으로 내 로컬 시간대를 가정합니다. 아마도 Time이 잘못된 로케일을 사용하거나 (독일 시간대가 필요합니다) DST 문제가 있습니다 (현재 독일에 DST가 있음). 현지 시간 사용을 확인/설정하려면 어떻게해야합니까?
안부, ActiveSupport::TimeWithZone의 문서에서