[Development] Two-digit dates: what century should we use ?

Eirik Aavitsland Eirik.Aavitsland at qt.io
Wed Nov 6 14:55:51 CET 2019

On 11/6/19 1:38 PM, Edward Welbourne wrote:
> Anyone want to make the case for keeping 1900--1999 as default ?

Yup, I'll bite, for the following reasons:

1) The downside of changing it is certain: breaking existing apps. In 
particular, breaking the old code dealing with old data, which is the 
parts nobody knows anymore or want to touch...

2) The upside is uncertain: as the discussion has shown, there are a lot 
of different ways to change it; whatever we choose will only match the 
expectations of a subset of users. The app developer will most likely 
end up having to deal with the issue explicitly anyway.

3) It will add to the industry confusion in an already dysfunctional 
field. "How will 2 digits be interpreted? Well, is the app Qt-based or 
not? Is it Qt 6 or earlier?"

4) At some point in the not too distant future, some standards 
organization or industry consensus may establish a "best practice" for 
this issue. At that point we must add support for that - and would 
rather not have to also maintain any home-invented alternative behaviour 
(for backwards compatibility), adding to the chaos.

Just my 2c :)

BTW, I also had the thought that just adding a parameter of type
enum TwoDigitYearBase { EpochCentury, CurrentCentury }
to the relevant apis would solve most common cases (with the default 
being EpochCentury, i.e. 1900) ?
Although the suggested (startYear, span) api is certainly also useful 
for more complex usecases.

- Eirik Aa.

More information about the Development mailing list