util: Remove T separator from ISO 8601 (RFC 3339)
authorShane Synan <digitalcircuit36939@gmail.com>
Wed, 12 Sep 2018 22:54:25 +0000 (17:54 -0500)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 13 Sep 2018 21:40:40 +0000 (23:40 +0200)
commitf27435c3d1b2793718e483449c7d6a62ee6cac8e
treef1a24d312b36666a90c0f70b99a8328242b1b241
parent7a878bda2ba617ff2eac98b7089f0f0053a9ea30
util: Remove T separator from ISO 8601 (RFC 3339)

Remove the "T" separator when formatting ISO 8601 date/time to
strings.  This improves readability without sacrificing machine
parsing, remaining compliant with RFC 3339.

Technically ISO 8601 specification states "T" can only be omitted,
but that makes readability even worse.

Example:
> Before: 2018-08-22T18:43:10-05:00
> After:  2018-08-22 18:43:10-05:00
          ..........^ (10th character)

NOTE:  Qt's own ISO 8601 parsing of strings to QDateTime will not
handle this correctly.  Custom format strings can be used, or just
replace the " " with "T" again.

See https://en.wikipedia.org/wiki/ISO_8601#cite_note-32

4.3.2 NOTE: By mutual agreement of the partners in information
interchange, the character [T] may be omitted in applications where
there is no risk of confusing a date and time of day representation
with others defined in this International Standard.

And https://www.ietf.org/rfc/rfc3339.txt

NOTE: ISO 8601 defines date and time separated by "T".
      Applications using this syntax may choose, for the sake of
      readability, to specify a full-date and full-time separated by
      (say) a space character.

Fixes #1456
src/common/util.cpp