diff options
author | Jeremy Evans <[email protected]> | 2021-07-27 10:23:47 -0700 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2021-09-28 17:34:26 +0900 |
commit | f9f7f3a75ec5af4a70e3332f8f5aa300c13432e2 (patch) | |
tree | 8d99533cd00f4b9894408b6efade59f2da26dd22 | |
parent | af68070068e86872014af9e69bae628c78ac26d6 (diff) |
[ruby/date] Make %v strftime flag use uppercase month
%v is supposed to be the VMS date, and VMS date format uses an
uppercase month.
Ruby 1.8 used an uppercase month for %v, but the behavior was
changed without explanation in r31672.
Time#strftime still uses an uppercase month for %v, so this change
makes Date#strftime consistent with Time#strftime.
Fixes [Bug #13810]
https://github.com/ruby/date/commit/56c489fd7e
-rw-r--r-- | ext/date/date_core.c | 4 | ||||
-rw-r--r-- | ext/date/date_strftime.c | 2 | ||||
-rw-r--r-- | test/date/test_date_strftime.rb | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/ext/date/date_core.c b/ext/date/date_core.c index f1017d22e9..4a2225fd2c 100644 --- a/ext/date/date_core.c +++ b/ext/date/date_core.c @@ -6900,7 +6900,7 @@ date_strftime_internal(int argc, VALUE *argv, VALUE self, * %c - date and time (%a %b %e %T %Y) * %D - Date (%m/%d/%y) * %F - The ISO 8601 date format (%Y-%m-%d) - * %v - VMS date (%e-%b-%Y) + * %v - VMS date (%e-%^b-%Y) * %x - Same as %D * %X - Same as %T * %r - 12-hour time (%I:%M:%S %p) @@ -8380,7 +8380,7 @@ dt_lite_to_s(VALUE self) * %c - date and time (%a %b %e %T %Y) * %D - Date (%m/%d/%y) * %F - The ISO 8601 date format (%Y-%m-%d) - * %v - VMS date (%e-%b-%Y) + * %v - VMS date (%e-%^b-%Y) * %x - Same as %D * %X - Same as %T * %r - 12-hour time (%I:%M:%S %p) diff --git a/ext/date/date_strftime.c b/ext/date/date_strftime.c index 9d8167b612..d7f28989d6 100644 --- a/ext/date/date_strftime.c +++ b/ext/date/date_strftime.c @@ -393,7 +393,7 @@ date_strftime_with_tmx(char *s, const size_t maxsize, const char *format, continue; case 'v': - STRFTIME("%e-%b-%Y"); + STRFTIME("%e-%^b-%Y"); continue; case 'w': /* weekday, Sunday == 0, 0 - 6 */ diff --git a/test/date/test_date_strftime.rb b/test/date/test_date_strftime.rb index f82874d26d..be9354504a 100644 --- a/test/date/test_date_strftime.rb +++ b/test/date/test_date_strftime.rb @@ -48,7 +48,7 @@ class TestDateStrftime < Test::Unit::TestCase '%t'=>["\t",{}], '%u'=>['6',{:cwday=>6}], '%V'=>['05',{:cweek=>5}], - '%v'=>[' 3-Feb-2001',{:mday=>3,:mon=>2,:year=>2001}], + '%v'=>[' 3-FEB-2001',{:mday=>3,:mon=>2,:year=>2001}], '%z'=>['+0000',{:zone=>'+0000',:offset=>0}], '%+'=>['Sat Feb 3 00:00:00 +00:00 2001', {:wday=>6,:mon=>2,:mday=>3, |