Setting for date format

magma1447 1 year ago updated by DOC-WHO 1 year ago 13

Add a setting for Date format (and probably 12h/24h as well).

I use almost everything in English, but I still don't expect my computers/apps to use all the locales of (American) English because of that. I much prefer a date format I am used to. The confusing part is that both MM/DD/YYYY and DD/MM/YYYY are valid formats that are both used. I never know what I am looking at if not the DD happens to be > 12.

(un)related ticket: https://gcdroid.userecho.com/communities/1/topics/138-date-format-has-changed-to-usa-mmddyyy#comment-430



have been thinking about it... maybe for date/time I should simply always stick to device formatting. no matter what language is selected.

why would a user want different date/time format in GCDroid vs their phone/tablet?


might make it;s way into V2.0.0 (for sure in a future update)


have been thinking about it... maybe for date/time I should simply always stick to device formatting. no matter what language is selected.

why would a user want different date/time format in GCDroid vs their phone/tablet?

But is there such setting in Android? In my Vanilla Android (Google Pixel) I can only find the option to change between 12/24h format, nothing regarding dates.

yes you can not change the date format. my point is, why would I use a different format in GCDroid than your native phone format.

Currently when selecting English I set the whole app to US, thus US date format. I will change that to keep the date format from the device. No matter what language you pick.

I think that makes more sense.

That also means, no option is needed. I will also detect if 12/24h is selected and GCDroid will show date/time just like everything else on your phone. Even when you select another language.

Does that make sense?

It doesn't make sense to me. Android only supports changing language, might be though as locale though. But Android never shows any dates in either YMD, MDY, DMY from what I can find, therefore such setting isn't needed. I would of course prefer if Android supported changing locales, just as one can do in any computer operating system.

I can understand if you don't think its worth your time though. But the fact that I need to run my whole phone and therefore also many apps in for example Swedish to get a readable date format is just weird. It's the honest truth that every time I look at a date in the logbook I have to scroll to a log that shows a day >= 12 to know the format. I have also interpreted log dates wrong more than once.

I just checked what date format I have in the phone. Since I run it in US English, for various reasons, I "obviously" use MDY, which seems to be used by about 5% of the earths population. :) As a former German I would expect you to feel the same issue. But maybe you are used to running your OS in German?

Still, it's not the most important thing in the world, but it is something that has annoyed me over a hundred times over the years with GCDroid actually. Most of all I am curious how the other geocaching apps handles it, not the least the official one actually.

PS! The setting in Android is called language and not locale. If that controls locales as well, they (not you) should fix that. But I don't think either of us will be able to affect Google on that matter.

so to clarify a few things...

most Android user would be confused by 'locale'... Indeed, Google/Android changes the locale to your selection. Android, at least on my phone would show English (USA), but I can also pick English (UK).

So from an Android perspective Locale and Language is used interchangeably...

I know it is NOT the same but Android does not even offer me a away to set a language. All I can do is set the Locale.

Just how the system works.

As for my personal way of using Android and GCDroid: everything is set to English (US) and always has been, including GCDroid. INCLUDING the date/time format. I guess after 10+ years living in the country you get used to it.

One problem is: how would I offer the format? I need different styles, know in java as SHORT, MEDIUM and LONG. So offering the user a real choice for MM/DD/YYYY or DD.MM.YYYY is only ONE format (short). How about the long format (which spells out the month), how would the user pick that?

One reason why no app really offers that I guess are these challenges...

The only option I would have is to let the user select a LOCALE that is used only for formatting date/time.

But then, which locales to offer the user? The same like language? So you can be LUCKY that maybe Germany has the format you like. But that would be very confusing, since you don't want German date format but Swedish instead?

I clearly can not offer all the world languages and/or formats.

So at least one step in the right direction is to honor the format settings of the phone.

Maybe with the option to use the format of the selected locale within GCDroid.

But that would not help you since you have your phone using a format you don't like!

I am open for ideas, just don;t see what is doable besides what I mentioned.

Applying it is not much work on my end, it's more about offering a way to the user to pick it.

I see your points, they are definitely valid. Would be easier if it was an OS setting. Also I don't know Java, so thank your for pointing out its three different formats/lengths.

If you are only using short format you could just let the user chose between YMD MDY DMY, but if you later on implement a longer format somewhere, then that's a mess.

I guess I am out of creative and realistic ideas. Maybe someone else will have some insight. If not, I might be the only one in the world who cares. :)

GCDroid already uses all 3 length ;-)

plus it get's interesting for AM/PM.... OS set to US, 12h, GCDroid set to German, should it use AM? Or the German abbreviation 'vorm.'.

let me ask you this... take this example:

- phone is set to English (UK)

- GCDroid is set to English (which is 'US')

- You select dateformat in GCDroid as 'Swedish'

Sometimes GCDroid uses a long format that spells out the month.

The default Android way would be (since the locale for date is set to Swedish) to show the month translated to Swedish (PLUS the correct order for Swedish) for example 31 augusti 2001. BUT since the language in GCDroid is set to English, it should keep the Swedish 'format/order' but use English text resulting 31 august 2001.

All that can be done but the question is what is wanted?

Should the above scenario lead to 31 augusti 2001 or  31 august 2001?

Without a doubt "31 august 2001". How that is chosen I do not know, but for me locale and date format is about the format, not translations.

How realistic it is to implement this in a generic, clean and decent way, I do not know. With your points above I really see how it's not that simple. On the other hand I am surprised that it's not simple. This should in my opinion be an issue for about a huge crowd in the Android world. But more on an OS level than app level.

Now when I think about it, I do use a few apps where I choose Date format actually. Tried to click though a few, the first one I thought about had a setting for it, the next two didn't. I probably have it in more, but hard to imaging which. The one that had only used one length. It's UI design might have more room though, because I can choose both long and short formats there. MM/DD/YYYY in its 3 combinations. All three with dots instead of slash. And then three text strings similar to "Tue, Dec 31, 2019". But to be clear, that app has ONE setting. So I either use numeric only, or longer strings only.

All in all I see your points and I realize that this might not be as simple as I had thought.

According to this ticket c:geo doesn't seem to support custom date formats either; https://github.com/cgeo/cgeo/issues/6609

So I came up with a simple way and 3 options for the user to choose from....

dev (device) and gcd (GCDroid), frist short then long

I set my phone to US and GCDroid to German for the test.

I COULD offer the user to pick one of the 3 mixes below.

However, it would still not solve your Swedish format topic. Since you have both set to English it would not help.

But for consistency I will at least honor the phone date/time format together with the GCDroid language (first 2 in example below).

dev format and gcd language       4/26/19 1:28 nachm.
dev format and gcd language       April 26, 2019 1:28:41 nachm. GMT-04:00

dev format and dev language       4/26/19 1:28 PM
dev format and dev language       April 26, 2019 1:28:41 PM EDT

gcd format and gcd language       26.04.19 1:28 nachm.
gcd format and gcd language       26. April 2019 13:28:41 GMT-04:00

Can  I  throw  a  spanner  in  the  works  lol

my  own  preferences...

DD-MM-YYYY     not       DD/MM/YYYY

pm     not     PM

I  also  Prefer...

DD-MMM-YYYY    ie     01-MAY-2019