From: "shyouhei (Shyouhei Urabe)" Date: 2013-11-19T21:25:42+09:00 Subject: [ruby-core:58431] [Ruby 1.8 - Feature #4148][Closed] Time#strftime with %T broken on Windows Issue #4148 has been updated by shyouhei (Shyouhei Urabe). Description updated Status changed from Open to Closed This target version no lnger exists. I'd like to take this opportunity to thank you all. ---------------------------------------- Feature #4148: Time#strftime with %T broken on Windows https://bugs.ruby-lang.org/issues/4148#change-43028 Author: metakeule (Marc Rene Arns) Status: Closed Priority: Normal Assignee: Category: core Target version: Ruby 1.8.8 =begin On unix: Time.now.strftime('%T') #=> "15:33:03" Time.now.strftime('%Y') #=> "2010" Time.now.strftime('%Y %T') #=> "2010 15:33:03" Time.now.strftime('%H:%M:%S') #=> "15:33:03" On Windows 7 (64bit) (ruby 1.8.7, patchlevel 249 i386-mingw32): Time.now.strftime('%T') #=> "" Time.now.strftime('%Y') #=> "2010" Time.now.strftime('%Y %T') #=> "" Time.now.strftime('%H:%M:%S') #=> "15:33:03" So if %T is included in the string, everything breaks and "" is returned. I guess that problem might also exist on other windows plattforms. Since '%H:%M:%S' works it could be used instead, but some libraries, e.g. Rack::Session::Cookie use '%T' which leads to subtile bugs (e.g. Expire-Date for Cookies not set). I haven't tested with ruby 1.9 maybe, this bug also exists there. =end -- http://bugs.ruby-lang.org/