Android TimeZone Turkey GMT -
for 2016 turkish government decided stay gmt+3 timezone save daylight, on android:
calendar calendar = calendar.getinstance(); timezone tz = timezone.gettimezone("utc"); calendar.settimeinmillis(timestamp * 1000); date currenttimezone = (date) calendar.gettime(); calendar.add(calendar.millisecond, tz.getoffset(calendar.gettimeinmillis()));
so problem is;
it's showing gmt+3 date before november:
wed oct 26 18:00:00 gmt+03:00 2016
after november:
mon nov 07 20:00:00 gmt+02:00 2016
it should've stay @ gmt+3 whole year, special issue android lib of timezone or doing wrong?
thanks,
update
although i've added check timezone , gmt parameters,
situation little chaotic android devices uses turkey's timezone, cause after oct 29 hour of device hour normal, until android releases update , user applies that.
see release note of tzdb-database version 2016g:
release 2016g - 2016-09-13 08:56:38 -0700
changes future time stamps
turkey switched eet/eest (+02/+03) permanent +03, effective 2016-09-07. (thanks burak aydin.) use "+03" rather invented abbreviation new time.
obviously, android device still uses outdated timezone version. have following options proceed:
- wait new android version (not attractive, not recommended).
- use external library joda-time-android or library time4a use 2016h (threeten-abp still behind, on 2016e).
- or write own hack using fixed offsets turkey, example
timezone.gettimezone("gmt+03")
Comments
Post a Comment