RomanIakovlev / timeshape

Java library to find timezone based on geo coordinates
MIT License
166 stars 36 forks source link

No timezone for some places in Mexico for 2022g.16 #114

Closed michaeldiener closed 1 year ago

michaeldiener commented 1 year ago

Hi,

with the latest release there is no timezone returned for e.g. 31.752,-106.457 or 31.038,-107.045. Both places are in Chihuahua and I haven't seen an issue (yet?) for other places. It works fine for 2022f.15.

For completeness, the code looks similar to this: TimeZoneEngine.initialize().queryAll(lat, lon)

Thanks, Michael

RomanIakovlev commented 1 year ago

Hello there. I think this is caused by the fact the timezone in question, America/Ciudad_Juarez is a new one, and has only appeared in the 2022g TZDB release. See some details here: http://mm.icann.org/pipermail/tz-announce/2022-November/000076.html.

You're probably running on a Java version which doesn't know about that timezone ID yet. To resolve this issue, you should update to a most recent Java version, e.g. 11.0.18.

michaeldiener commented 1 year ago

Thanks, you pointed me in the right direction. I actually do use the latest Java 17 version (Oracle 17.0.6+9-LTS-190), but it doesn't have the latest timezone data. But there is a timezone updater tool from Oracle that adds support for America/Ciudad_Juarez.

If anybody else has the same problem, you can find the tool here: https://www.oracle.com/java/technologies/javase-tzupdater-downloads.html Unzip and execute (you might have to sudo): java -jar tzupdater-2.3.2/tzupdater.jar -l https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz -v

Thanks again, problem solved!

RomanIakovlev commented 1 year ago

Happy to hear this is resolved! Also good point about the tzupdater tool, I wonder if it would make sense to put this to readme?

michaeldiener commented 1 year ago

I think it would make sense, but then only for Oracle JREs and JDKs.