I am storing a Time record w a timezone like : an event at 9:30 in
Paris time
(rdb:1) Time.zone = "Europe/Paris"
"Europe/Paris"
(rdb:1) Time.new(2012, 12, 3, 9, 30, 0).in_time_zone("Europe/Paris")
Mon, 03 Dec 2012 09:30:00 CET +01:00
Now I want to store another event occurring also at 9:30 but in London
time
/London"
(rdb:1) Time.new(2012, 12, 3, 9, 30, 0).in_time_zone("Europe/London")
Mon, 03 Dec 2012 08:30:00 GMT +00:00
which is wrong .... I want this event at 9:30 GMT !!
what's wrong there ?
thanks for feedback
on 2012-12-03 12:14
on 2012-12-03 12:22
Time. New uses the default system timezone when no one is given, so u say that you want 9:30 of your systems timezone in GMT, which is probably 8:30 GMT, depending on your local time zone. You have to add the corresponding parameter to Time. New. Take a look at its documentation. Am 03.12.2012 12:10 schrieb "Erwin" <yves_dufour@mac.com>:
on 2012-12-03 15:38
Thanks Norbert, my issue is that I don't see how to do that :
As per the doc I can defined the time_zone to be used for a specific
block
(rdb:1) Time.use_zone("Europe/London"){ Time.now.in_time_zone }
Mon, 03 Dec 2012 14:33:24 GMT +00:00
(rdb:1) Time.use_zone("Europe/Paris"){ Time.now.in_time_zone }
Mon, 03 Dec 2012 15:33:41 CET +01:00
This is fine with Time.now , but not with a Time.new ...
(rdb:1) Time.use_zone("Europe/London"){ Time.new(2012, 12, 3, 9, 30, 0)
}
2012-12-03 09:30:00 +0100
(rdb:1) Time.use_zone("Europe/Paris"){ Time.new(2012, 12, 3, 9, 30, 0) }
2012-12-03 09:30:00 +0100
I cannot believe that there is no way to do the same for Time.new .. ?
Le lundi 3 dcembre 2012 12:21:01 UTC+1, Norbert Melzer a crit :
on 2012-12-03 15:40
sorry I pasted the wrong test , but the result is the same
Time.use_zone("Europe/London"){ Time.new(2012, 12, 3, 9, 30,
0).in_time_zone }
Mon, 03 Dec 2012 08:30:00 GMT +00:00 # => I want 9:30 GMT there
(rdb:1) Time.use_zone("Europe/Paris"){ Time.new(2012, 12, 3, 9, 30,
0).in_time_zone }
Mon, 03 Dec 2012 09:30:00 CET +01:00
Le lundi 3 dcembre 2012 12:10:34 UTC+1, Erwin a crit :
on 2012-12-03 16:09
[SOLVED] Time.zone.local(2012, 12, 3, 9, 30, 0) inside the
TIme.use_zone did it ...
1.9.3p194 :011 > Time.use_zone("Europe/London"){ Time.zone.local(2012,
12,
3, 9, 30, 0) }
=> Mon, 03 Dec 2012 09:30:00 GMT +00:00
1.9.3p194 :012 > Time.use_zone("Europe/Paris"){ Time.zone.local(2012,
12,
3, 9, 30, 0) }
=> Mon, 03 Dec 2012 09:30:00 CET +01:00
1.9.3p194 :013 > Time.use_zone("Asia/Singapore"){ Time.zone.local(2012,
12, 3, 9, 30, 0) }
=> Mon, 03 Dec 2012 09:30:00 SGT +08:00
Le lundi 3 dcembre 2012 15:39:04 UTC+1, Erwin a crit :
on 2012-12-03 21:22
Time.new has a parameter for the timezone offset, use it, it would make your code more clean http://www.ruby-doc.org/core-1.9.3/Time.html 2012/12/3 Erwin <yves_dufour@mac.com> > [SOLVED] Time.zone.local(2012, 12, 3, 9, 30, 0) inside the > TIme.use_zone did it ... > > > > 1.9.3p194 :011 > Time.use_zone("Europe/London"){ Time.zone.local(2012, 12, > 3, 9, 30, 0) } > => Mon, 03 Dec 2012 09:30:00 GMT +00:00 > Time.new(2012, 12, 3, 9, 30, 0, "+00:00") > > > 1.9.3p194 :012 > Time.use_zone("Europe/Paris"){ Time.zone.local(2012, 12, > 3, 9, 30, 0) } > => Mon, 03 Dec 2012 09:30:00 CET +01:00 > Time.new(2012, 12, 3, 9, 30, 0, "+01:00") > > 1.9.3p194 :013 > Time.use_zone("Asia/Singapore"){ Time.zone.local(2012, > 12, 3, 9, 30, 0) } > => Mon, 03 Dec 2012 09:30:00 SGT +08:00 > Time.new(2012, 12, 3, 9, 30, 0, "+08:00")
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.