-
-
Notifications
You must be signed in to change notification settings - Fork 942
Closed
Milestone
Description
Environment Information
$ jruby -v
jruby 10.0.2.0 (3.4.2) 2025-08-07 cba6031bd0 OpenJDK 64-Bit Server VM 21.0.8+9-Ubuntu-0ubuntu122.04.1 on 21.0.8+9-Ubuntu-0ubuntu122.04.1 +indy +jit [x86_64-linux]
$ uname -a
Linux linuxdev 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Expected Behaviour
In MRI (version 3.4.5 and earlier), using Time#localtime to set the offset to 0 does not set the time instance to UTC (the offset returned in the #to_s string representation is '+0000' and #utc? returns false):
$ ruby -e 't = Time.at(1757243858).localtime(0); puts t; puts t.utc_offset; puts t.utc?'
2025-09-07 11:17:38 +0000
0
false
Actual Behaviour
JRuby version 10.0.2.0 sets the time instance to UTC (the offset returned in the #to_s string representation is 'UTC' instead of '+0000' and #utc? returns true instead of false):
$ jruby -e 't = Time.at(1757243858).localtime(0); puts t; puts t.utc_offset; puts t.utc?'
2025-09-07 11:17:38 UTC
0
true
This has changed in version 10.0.2.0. JRuby version 10.0.1.0 matches the MRI behaviour:
jruby -e 't = Time.at(1757243858).localtime(0); puts t; puts t.utc_offset; puts t.utc?'
2025-09-07 11:17:38 +0000
0
false
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels