Added by nobu (Nobuyoshi Nakada) over 5 years ago. Updated over 5 years ago. · bugs.ruby-lang.org

Actions

closed

Keyword argument for timezone in Time.new


Description

Currently, Time.at and Time.now accept a timezone as a keyword argument, but not Time.new.
This means minor arguments cannot be omitted for Time.new.

Time.new(2021, 1, 1, 0, 0, 0, "+09:00") #=> ok: 2021-01-01 00:00:00 +0900
Time.new(2021, 1, 1, "+09:00")          #=> bad: 2021-01-01 09:00:00 +0900
Time.new(2021, 1, "+09:00")             #=> bad: 2021-01-09 00:00:00 +0900
Time.new(2021, "+09:00")                #=> ArgumentError (mon out of range)

Suggest that Time.new should also accept the in: timezone option.

Time.new(2021, 1, 1, in: "+09:00") #=> ok: 2021-01-01 00:00:00 +0900
Time.new(2021, in: "+09:00")       #=> ok: 2021-01-01 00:00:00 +0900

https://github.com/ruby/ruby/pull/4010


  • Description updated (diff)
  • Description updated (diff)
  • Related to Bug #17504: Allow UTC offset without colons per ISO-8601 added

I think Time.new(2021, 1, 1, "+09:99") should raise an error instead of 2021-01-01 09:00:00 +0900.

  • Status changed from Open to Closed

Actions

Also available in: PDF Atom

Read the original on bugs.ruby-lang.org ↗