Bug #13231
closedDateTime.strftime("%Z") does not return time zone abbreviation, returns hour and minute offset from UTC with colon
Description
First time here; hope I capture everything.
It appears to me that either the documentation is incorrect or the expected functionality with DateTime.strftime("%Z")
.
From: http://ruby-doc.org/stdlib-2.3.1/libdoc/date/rdoc/DateTime.html#method-i-strftime
Time zone:
%z - Time zone as hour and minute offset from UTC (e.g. +0900)
%:z - hour and minute offset from UTC with a colon (e.g. +09:00)
%::z - hour, minute and second offset from UTC (e.g. +09:00:00)
%:::z - hour, minute and second offset from UTC
(e.g. +09, +09:30, +09:30:30)
%Z - Time zone abbreviation name or something similar information.
However, the last one on the list %Z
appears to replicate %:z
.
See output of each below (last one is unexpected):
~ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
~ irb
irb(main):001:0> require 'date'
=> true
irb(main):002:0> DateTime.now.strftime("%z")
=> "-0800"
irb(main):003:0> DateTime.now.strftime("%:z")
=> "-08:00"
irb(main):004:0> DateTime.now.strftime("%::z")
=> "-08:00:00"
irb(main):005:0> DateTime.now.strftime("%:::z")
=> "-08"
irb(main):006:0> DateTime.now.strftime("%Z")
=> "-08:00"
For me the expected behavior, based on the documentation, is the behavior shown by Time.strftime("%Z")
.
irb(main):008:0> Time.now.strftime("%Z")
=> "PST"
Thanks for your time.