Thread overview
[Issue 16053] SysTime.fromIsoExtString don't work if nanoseconds are presented
Jun 20, 2016
Ola Østtveit
May 11, 2017
Jonathan M Davis
May 13, 2017
Jonathan M Davis
Jul 11, 2017
RazvanN
June 20, 2016
https://issues.dlang.org/show_bug.cgi?id=16053

Ola Østtveit <olaa81@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |olaa81@gmail.com

--
May 11, 2017
https://issues.dlang.org/show_bug.cgi?id=16053

Jonathan M Davis <issues.dlang@jmdavisProg.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |issues.dlang@jmdavisProg.co
                   |                            |m

--- Comment #1 from Jonathan M Davis <issues.dlang@jmdavisProg.com> ---
Yes, it's legit. It's just that SysTime will never produce a string with more than 7 digits in the fractional seconds, because its precision is hecto-nanoseconds, and for whatever reason, it didn't occur to me that I would need handle higher precision from elsewhere (even though it should have). It should be a simple enough fix though.

--
May 13, 2017
https://issues.dlang.org/show_bug.cgi?id=16053

--- Comment #2 from Jonathan M Davis <issues.dlang@jmdavisProg.com> ---
https://github.com/dlang/phobos/pull/5389

--
May 17, 2017
https://issues.dlang.org/show_bug.cgi?id=16053

--- Comment #3 from github-bugzilla@puremagic.com ---
Commit pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/21c09f18d33b65475a89c7d6ec75d87556e6c1e5 Issue 16053: Fix it so that SysTime's from*String supports more than 7 digits.

ISO 8601 says that it's up to the application to decide how many digits to put in the fractional seconds if they're present. SysTime.to*String puts up to 7 (stripping trailing zeroes), because that's hecto-nanosecond precision, and SysTime holds the time in hecto-nanoseconds. Currently, from*String only accepts up to 7 digits in the fractional seconds, which _does_ follow the spec in that (per the spec) the number of digits is up to the applications. However, while we never emit more than 7 digits, other applications do, so only accepting 7 digits makes us incompatible with them, whereas accepting them would make us more compatible with other programs, and it would actually be more efficient, since we'd have fewer checks in the code.

So, these changes make is so that SysTime.from*String accepts more than 7 digits in the fractional seconds, but the additional digits are truncated (since SysTime doesn't support more than 7 digits of precision).

--
June 17, 2017
https://issues.dlang.org/show_bug.cgi?id=16053

--- Comment #4 from github-bugzilla@puremagic.com ---
Commit pushed to stable at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/21c09f18d33b65475a89c7d6ec75d87556e6c1e5 Issue 16053: Fix it so that SysTime's from*String supports more than 7 digits.

--
July 11, 2017
https://issues.dlang.org/show_bug.cgi?id=16053

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |razvan.nitu1305@gmail.com
         Resolution|---                         |FIXED

--
January 05, 2018
https://issues.dlang.org/show_bug.cgi?id=16053

--- Comment #5 from github-bugzilla@puremagic.com ---
Commit pushed to dmd-cxx at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/21c09f18d33b65475a89c7d6ec75d87556e6c1e5 Issue 16053: Fix it so that SysTime's from*String supports more than 7 digits.

--