From: akr@... Date: 2021-01-12T06:30:27+00:00 Subject: [ruby-core:102023] [Ruby master Feature#17485] Keyword argument for timezone in Time.new Issue #17485 has been updated by akr (Akira Tanaka). I think `Time.new(2021, 1, 1, "+09:99")` should raise an error instead of `2021-01-01 09:00:00 +0900`. ---------------------------------------- Feature #17485: Keyword argument for timezone in Time.new https://bugs.ruby-lang.org/issues/17485#change-89871 * Author: nobu (Nobuyoshi Nakada) * Status: Open * Priority: Normal ---------------------------------------- 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`. ```ruby 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. ```ruby 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 -- https://bugs.ruby-lang.org/ Unsubscribe: