Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-68812

Add a QTimeZone back-end based on C++20 std::chrono::tzdb

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • Core: Date/Time
    • None
    • All, C++20

    Description

      In C++20, <tz.h> std::chrono::tzdb will provide access to the Olson database.
      This should be sufficient to implement a back-end for QTimeZone; ultimately (some time in the late 2020s) we can hope for it to make all others redundant.
      As discussed at QtCS2018 it's worth getting it implemented early,

      • so that we'll have all the bugs out of it by that time; and
      • so that we notice (and address) any limitations in the <tz.h> API that we want fixed before it gets fossilized by standardization – too late for that.

      Once we have this backend, the intent is to use it whenever it is supported, making the other backends redundant. This makes QTBUG-101730's call to include conversion from std::chrono::time_zone to QTimeZone trivial, provided we include a constructor from time_zone when using this backend.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-68812
          # Subject Branch Project Status CR V

          Activity

            People

              Eddy Edward Welbourne
              Eddy Edward Welbourne
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 3 weeks
                  3w
                  Remaining:
                  Remaining Estimate - 3 weeks
                  3w
                  Logged:
                  Time Spent - Not Specified
                  Not Specified

                  Gerrit Reviews

                    There is 1 open Gerrit change