Issue #13810 has been updated by osteele (Oliver Steele).


Ruby's `Time.strftime` method (where `%v` is equivalent to `%e-%^b-%4Y`) is compatible with VMS time format, and `Date.strftime` and `DateTime.strftime` (where it is equivalent to `%e-%b-%Y`) are not, according to section 27.1.1 Absolute Time Format of ["OpenVMS Programming Concepts Manual"](https://www.itec.suny.edu/scsys/vms/ovmsdoc073/v73/5841/5841pro_072.html#111_thesystemtimeformat):

> The operating system uses the following format for absolute time. [กฤ]

`dd-MMM-yyyy hh:mm:ss.cc`
 
[กฤ]

`MMM	Month (first 3 characters of the month in uppercase)`


----------------------------------------
Misc #13810: Inconsistency between Date and Time.strftime("%v")
https://bugs.ruby-lang.org/issues/13810#change-66176

* Author: osteele (Oliver Steele)
* Status: Feedback
* Priority: Normal
* Assignee: 
----------------------------------------
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>