From: "omid.mt (Omid Mehdizadeh)" Date: 2013-02-17T21:39:38+09:00 Subject: [ruby-core:52382] [ruby-trunk - Bug #7868] DateTime.now calculate negative timezone Issue #7868 has been updated by omid.mt (Omid Mehdizadeh). I got this info in rails community, that may help on catching the issue faster. "Looks like it's a Ruby bug in date_core.c - the HAVE_VAR_ALTZONE section should invert the timezone or altzone value as that's the code path taken by Solaris (tm.tm_gmtoff is BSD/GNU C Library extension and altzone is set by the Solaris tzset function)." ---------------------------------------- Bug #7868: DateTime.now calculate negative timezone https://bugs.ruby-lang.org/issues/7868#change-36436 Author: omid.mt (Omid Mehdizadeh) Status: Open Priority: Normal Assignee: tadf (tadayoshi funaba) Category: lib Target version: next minor ruby -v: ruby 1.9.3p374 (2013-01-15) [sparc-solaris2.10] I compiled 1.9.3-p374 on Solaris sparc. I found that the DateTime.now return time by wrong timezone in negative of what it should be. Time.now is OK. irb(main):002:0> DateTime.now DateTime.now => Sun, 17 Feb 2013 00:50:02 -0330 irb(main):006:0> Time.now Time.now => 2013-02-17 00:28:07 +0330 irb(main):003:0> DateTime.now.zone d.zone => "-03:30" irb(main):004:0* DateTime.current DateTime.current => Sat, 16 Feb 2013 21:20:28 +0000 This wrong timezone makes Time and DateTime comparison wrong. As the implementation is in C now, couldn't figure out the logic. -- http://bugs.ruby-lang.org/