Project

General

Profile

Feature #8508

Use C++20's time zone support in std::chrono by default if supported.

Added by Roel Standaert about 1 year ago. Updated 9 months ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Start date:
05/27/2021
Due date:
% Done:

0%

Estimated time:

Description

C++ compiler and STL implementations are getting C++20 feature complete, so we can look into replacing the date library with it. This would be especially nice on Windows, since using time zones on Windows would not require extra setup anymore.

This was done in issue #8595 similarly to how we do Wt::cpp17::any:

  • Have a CMake option to select the implementation, defaulting to the STL implementation if supported
  • Introduce a Wt::cpp20::chrono namespace that is aliased to std::chrono or date

WDate, WTime, WDateTime, and WLocalDateTime may no longer be necessary. We could look into adding overrides in the right places, so that their use can be avoided if desired.


Related issues

Follows Feature #8595: Add the option to use std::chrono's date and time zone supportClosedRoel Standaert05/26/2021

Actions
#1

Updated by Roel Standaert 10 months ago

  • Due date set to 05/27/2021
  • Start date changed from 05/26/2021 to 05/27/2021
  • Follows Feature #8595: Add the option to use std::chrono's date and time zone support added
#2

Updated by Roel Standaert 10 months ago

  • % Done changed from 100 to 0
#3

Updated by Roel Standaert 10 months ago

  • Due date deleted (05/27/2021)
#4

Updated by ruben kindt 9 months ago

  • Assignee set to ruben kindt
#5

Updated by Roel Standaert 9 months ago

  • Description updated (diff)

Updated the description to more accurately reflect the fact that we already implemented those two bullet points in issue #8595.

#6

Updated by Roel Standaert 9 months ago

What remains now is to automatically determine whether we can use std::chrono for time zones, and enable it by default if available, still allowing the user to specify which one they want to use.

What also remains is the ability to take a std::chrono::year_month_day instead of a WDate in places like WDateEdit, so we don't need to necessarily use WDate anymore, and similar things for WTime, WDateTime, and WLocalDateTime.

Also available in: Atom PDF