[ruby-core:104708] [Ruby master Bug#13810] Inconsistency between Date and Time.strftime("%v")
From:
merch-redmine@...
Date:
2021-07-27 17:35:13 UTC
List:
ruby-core #104708
Issue #13810 has been updated by jeremyevans0 (Jeremy Evans).
Status changed from Feedback to Open
I submitted a pull request upstream to fix this: https://github.com/ruby/date/pull/35. However, I'm not sure if the consistency benefit is worth the backwards incompatibility cost.
----------------------------------------
Bug #13810: Inconsistency between Date and Time.strftime("%v")
https://bugs.ruby-lang.org/issues/13810#change-93032
* Author: osteele (Oliver Steele)
* Status: Open
* Priority: Normal
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
This seems odd. Each function matches its documentation, but the document and implementation of `Date.strftime("%v")` differs from the documentation and implementations of `Time.strftime("%v")` and `DateTime.strftime("%v")`.
```
ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
```
```
require 'time'
# https://ruby-doc.org/stdlib-2.4.1/libdoc/date/rdoc/Date.html#method-i-strftime
# %v - VMS date (%e-%b-%Y)
d = Date.iso8601 "2006-01-02T15:04:05-05:00"
puts d.strftime("%v") # -> 2-Jan-2006
puts d.strftime("%e-%b-%Y") # -> 2-Jan-2006
# https://ruby-doc.org/stdlib-2.4.1/libdoc/date/rdoc/DateTime.html#method-i-strftime
# %v - VMS date (%e-%b-%Y)
dt = DateTime.iso8601 "2006-01-02T15:04:05-05:00"
puts dt.strftime("%v") # -> 2-Jan-2006
puts dt.strftime("%e-%b-%Y") # -> 2-Jan-2006
# https://ruby-doc.org/core-2.4.1/Time.html#method-i-strftime
# %v - VMS date (%e-%^b-%4Y)
t = Time.iso8601 "2006-01-02T15:04:05-05:00"
puts t.strftime("%v") # 2-JAN-2006
puts t.strftime("%e-%^b-%4Y") # 2-JAN-2006
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>