Issue #16005 has been updated by duerst (Martin D=FCrst). matsuda (Akira Matsuda) wrote: > How about respecting local timezone with `Z`, and doing the UTC without `= Z`? This seems backwards. Timezone 'Z' denotes UTC, see e.g. https://www.timean= ddate.com/time/zones/z. ---------------------------------------- Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm= :ss https://bugs.ruby-lang.org/issues/16005#change-79433 * Author: matsuda (Akira Matsuda) * Status: Open * Priority: Normal * Assignee: = * Target version: = ---------------------------------------- Let me propose a String to Time conversion method that can parse "yyyy-MM-d= d HH:mm:ss" format, which is very much similar to `Time.iso8601`, but delim= its the date part and the time part with a space character. This format is defined as the "timestamp string" literal in SQL 92 standard= : http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt (see P. 90) and so this format is very widely used as the default datetime / timestamp = literal for major existing RDBMS implementations. Oracle https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Literal= s.html#GUID-8F4B3F82-8821-4071-84D6-FBBA21C05AC1 SQL Server https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/date-time-a= nd-timestamp-literals?view=3Dsql-server-2017 PostgreSQL https://www.postgresql.org/docs/11/datatype-datetime.html#id-1.5.7.13.19.7.2 MySQL https://dev.mysql.com/doc/refman/8.0/en/datetime.html SQLite3 https://www.sqlite.org/lang_datefunc.html In order to handle this conversion in Ruby on Rails framework, we define ou= r own String =3D> Time conversion method https://github.com/rails/rails/blob/b4c715fe/activemodel/lib/active_model/t= ype/helpers/time_value.rb#L62-L76 and Time =3D> String conversion for now, https://github.com/rails/rails/blob/b4c715fe/activesupport/lib/active_suppo= rt/core_ext/time/conversions.rb#L7-L59 and I think it's nicer if we had them in the language level with a faster i= mplementation. As for the method name, maybe we can name it `Time.sql92`, `Time.sql`, `Tim= e.parse_sql92` or whatever, or maybe we can add an option to `Time.iso8601`= if it could be regarded as a variation of `Time.iso8601`? (https://en.wiki= pedia.org/wiki/ISO_8601#cite_note-30) -- = https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>