Bug #3541
closedstrftime formatting error on Mac platform
Description
=begin
The strftime command supports the %-m and %-d options for non-zero-padded month and non-zero-padded-day.
However, on a mac they are only supported on DateTime and Date, but not on Time. This causes problems in, for example, Rails which extends Time to TimeWithZone.
Quick demo of the problem:
[18:26:49 ~]$ irb
DateTime.now.strftime("%-m %-d")
=> "7 5"
Time.now.strftime("%-m %-d")
=> "-m -d"
exit
[18:27:04 ~]$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
The flaw appears to be mac-only. strftime works as expected on Debian Linux:
[18:13] evan@ci ~ $ irb
irb(main):001:0> Time.now.strftime("%-m %-d")
=> "7 5"
irb(main):002:0> exit
[18:15] evan@ci ~ $ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
This is reproduceable in 1.8.7-p299:
[18:27:07 ~]$ rvm use 1.8.7-p299
info: Using ruby 1.8.7 p299
[18:28:01 ~]$ irb
ruby-1.8.7-p299 > Time.now.strftime("%-m %-d")
=> "-m -d"
ruby-1.8.7-p299 > exit
[18:28:13 ~]$ ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-darwin10.4.0]
It is not reproduceable in 1.9.1.
=end