Feature #18331
Updated by sawa (Tsuyoshi Sawada) about 3 years ago
I remember that, once, Matz suggested a new literal notation for date/time, but he later withdrew it. It seems like introducing new syntax at this point is less realistic. But I believe that many people have wanted a simple way to create a date/time object. I propose `Kernel.Time` or `Kernel#Time`, in much of the same way as `Kernel.#Integer`, `Kernel.#Float`, `Kernel.#Complex` and others. It should take a string as the first required argument and some optional keyword arguments. ```rb Time("2021-11-13T21:21:18.027294 TIme("2021-11-13T21:21:18.027294 +0900") # => 2021-11-13 21:21:18.027294 +0900 Time("2021-11-13 TIme("2021-11-13 21:21:18.027294 +0900") # => 2021-11-13 21:21:18.027294 +0900 Time("foo", exception: false) # => nil ``` I leave out the specifics. There should be room for debate. I wish the features nobu implemented in https://bugs.ruby-lang.org/issues/18033 for `Time.new` can be carried over to `Kernel.#Time`.