fennifith / Alarmio

A simple alarm clock focused on design, readability, and internet radio.
https://play.google.com/store/apps/details?id=me.jfenn.alarmio
Apache License 2.0
335 stars 94 forks source link

Enhancement, include daylight savings time option for time zones #119

Open madb1lly opened 4 years ago

madb1lly commented 4 years ago

Hi @fennifith,

I think this is an apparently simple enhancement which may actually require a significant amount of work, but I'm not sure.

I can see how adding separate time zones to the clock can be useful, but for me it's not useful without it taking into account daylight savings time in various locations. For example, I might want to add the time zone of a place I'm going to, e.g. Sydney (I'm not, but this is an example), but when Alarmio shows that time zone it doesn't taken account of whether that zone is currently in daylight savings or not. This means that I might actually be seeing the time for that zone incorrectly.

I suppose to implement this you would need access to a separate database of locations with their time zones and DST change dates.

Cheers 🙂

fennifith commented 4 years ago

Alarmio currently relies entirely on the Android system to implement time zones, daylight savings, etc - I'm not sure if there's an easy way to change its behavior without involving a third party API / service instead...

According to this StackOverflow example, it looks like Alarmio's implementation should already account for daylight savings, so maybe this is a device-specific issue?

madb1lly commented 4 years ago

Hi @fennifith,

On my phone (Nokia 8, Android 9 stock) if I add additional time zones they do not take account of DST. For examples, I added GMT and CET (+1) and they showed in the main UI without DST applied. With DST applied CET should have matched current time (+2).

Possibly the problem is that although the time zone is labelled as GMT, CET etc, the city it is linked to is not actually in that time zone. E.g. CET is labelled as Algiers but Algiers is not in the CET zone even though it is usually +1, and it does not have DST at this time so is still in +1 whereas CET is +2.

Does the UI include all possible time zones or just a subset based on common longitude or usual UTC offset?

Cheers 🙂