Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Date formats: Use ISO 8601 to avoid confusion #1040

Merged
merged 3 commits into from
Jul 25, 2022

Conversation

earboxer
Copy link
Contributor

@earboxer earboxer commented Mar 16, 2022

On the firmware page, the date format was DD/MM/YYYY, which is easily misread by american users as being completely wrong, and read by people who know better as being ambiguous.

(for more information, see "Date format by country" on Wikipedia).

This PR standardizes using YYYY-MM-DD, from ISO 8601, which is internationally unambiguous.

InfiniSim_2022-03-16_180156
InfiniSim_2022-03-16_180145

(note that the "Build date", as given by __DATE__ is not changed).

@Avamander
Copy link
Collaborator

As this is very dependant on users' preferences, it should be a configuration option. As a parallel - most of the world uses Celsius, people in the States use Fahrenheit then a good default isn't going to be Kelvin.

@earboxer
Copy link
Contributor Author

earboxer commented Mar 17, 2022 via email

@Riksu9000
Copy link
Contributor

For the SystemInfo screens this format is fine. For the terminal watchface it can be debatable. Everywhere else we have months in a written format, and we should keep doing it where possible, so the terminal watchface would be the only place that needed this setting. By using this format, we could avoid adding this option for now, and one could also say it fits the aesthetic. On the other hand, even if it's easier to read than Kelvin, this format does feel weird to me, although I wouldn't use this watchface anyway, so make of that what you will.

@Avamander Avamander added the enhancement Enhancement to an existing app/feature label Mar 17, 2022
@trman
Copy link

trman commented Mar 19, 2022

This is a pretty infrequent screen, I don't think customization would help anyone here. Also, YYYY-MM-DD is not anything like Kelvin, it's easy to understand and universally accepted (as opposed to many of the variations with slashes).

sorry but @earboxer :

first : as written in the link you provided , aka https://en.wikipedia.org/wiki/Date_format_by_country
, YYYY-MM-DD is not universally used !

in fact if you see the grid by country , the one with header All-numeric date form , it's the DMY format that is
universally used and in use in more 70 % of country of the world !

second : this iso is used for by america , as basis for working with USA ,
so it's not a matter of universality ,
it's rather a way to say the the country that work with them must use iso 8601 for time and dollars for exchange (that's their own time on money)

that was for the precision part :)

now the change should have the date fromat to a setting in infinitme , like the one for time format,
rather to force it your way ,
because , like @Avamander said ,
date format is wholly the user pref
european (and a lot of country) users will use the DD/MM/YYY format
america users will use the YYYY-MM-DD format
...

needless to say that most not american user will not understand YYYY-MM-DD format because they use the DD/MM/YY format...

@JF002
Copy link
Collaborator

JF002 commented Apr 24, 2022

I don't think we'll ever agree on a single date format : each of us is used to using a specific format and will find other formats unusable, even if this format is standardized by ISO.
In my part of the world, we use DD/MM/YYYY, and that's probably why most of the dates are formatted this way for now. Changing it to MM/DD/YYYY or YYYY/DD/MM will just feel strange to me.

In the case of the Terminal watchface, the time/date format is a design choice from the author of the watchface.

I would suggest we try to find a more generic solution to this date format? Should we just add a setting (just like there's already a setting for 12/24h, for example)?

@13werwolf13
Copy link

let me enter this discussion.
I set the yyyy.mm.dd format because and only because I personally like it, it is in this form that I use it wherever possible.
if everyone thinks that this is wrong and you need to replace the points with the hyphens, then I can understand this. but the use of a slash in the terminal (as in something that looks like a terminal) seems completely wrong to me and at least requires the addition of quotation marks.
but I personally consider the change in the yyyy-mm-dd format to the dd-mm-yyyy format a mistake. I live in a country where it is customary to write dd.mm.yyy and it seemed strange to me from my since childhood, especially when it goes in one line with time. first we write from less to more (from day to year) and then from more to less (from hour to second). I think this is wrong and if time goes down then the date should go the same.
P.S.: I hope my level of English and the possibilities of an online translator did not make this text incomprehensible.

Copy link
Contributor

@Riksu9000 Riksu9000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the terminal watchface this is only changing the dot to a hyphen which makes it less ambiguous. For SystemInfo localizing the format isn't important. The current format is very ambiguous since in the US they also use slashes between the digits, but swap the months and the days, thus changing this is an improvement.

Please fix the conflicts, so we can merge this if we ever come to an agreement.

@Riksu9000 Riksu9000 linked an issue Jun 20, 2022 that may be closed by this pull request
1 task
earboxer added 2 commits June 20, 2022 09:46
The date format with the slashes has different meaning in different regions
Using the popular ISO 8601 format instead
@Riksu9000 Riksu9000 added this to the 1.11.0 milestone Jul 23, 2022
@Riksu9000 Riksu9000 merged commit 4450c58 into InfiniTimeOrg:develop Jul 25, 2022
@Alias001
Copy link

Alias001 commented Oct 4, 2022

I know it's closed already but I like the ISO 8601 standard. It makes file organization a snap. Say you want the pinetime to write a timestamp on some future app like a sleep tracking app or step tracking, etc. I think the use of ISO standard would better enable cross development and companion app, or watch app functions.
Personally I like to use the ISO standard 2022-10-03T20:16:32Z for most anything I do. It's easier for me to think linear in my time and I work at an airport so UTC is an easy swap for me to local time. As for the date on the Pinetime I wish it had the option for ISO 8601 standard in any watch face.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement to an existing app/feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use dashes instead of periods in date for terminal watch face
8 participants