Actually I would like to get better TZ guessing. This [1] thread starts this topic for me
Actual logic used in Wicket is: 1) get TZ offset this year Jan, 1 2) get TZ offset this year Jul, 1 guess according this to offsets Currently in Russia we have absolutely "un-guessable" situation: we were in GMT+7 (without DST) and since October we are in GMT+6 (without DST) AjaxHelloBrowser gave me: Chrome: GMT+6 FF: GMT+7 Situation described in original thread [1] is somehow similar: the rules are close, but there is period of time when it doesn't match I would like to implement ~98% accurate tz guesser to avoid such situations [1] http://markmail.org/thread/v7vmfburg4zrtizk On Fri, Dec 5, 2014 at 3:29 PM, Martin Grigorov <[email protected]> wrote: > Hi Maxim, > > I'm not saying that we should use this JS library. > I just saw it and decided to share it with you so that you can see whether > it will help you anyhow. > > Also I've noticed that Wicket already has code for detecting the time zone. > See org.apache.wicket.protocol.http.ClientProperties#getTimeZone > http://www.wicket-library.com/wicket-examples-6.0.x/ajaxhellobrowser/ for > me shows: > Based on your settings, your time is: 1:16:44 AM PST (and your time zone > is Central European Time) > The time is not what I'd expect, it should be 10:16:44 AM CET instead. > The timezone (CET) is correct though. > But I guess you want to see something like Europe/Moskow ? I.e. the time > zone identifier. For this you will need the locale too. > > P.S. Running wicket-examples locally gives correct results. So it could be > that wicket-library.com runs with wrong clock ?! > > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Thu, Dec 4, 2014 at 10:10 PM, Maxim Solodovnik <[email protected]> > wrote: > > > I would love to have library for such automatic detection > > But the list of time zones is limited, and it currently determines my > > current time zone wrong :( > > I'll check it's code and will try to enhance mine, I'll try to enhance my > > code > > > > In case you prefer to use this library I would vote for that since > current > > wicket code is also not very good :( > > I believe this library can be used and enhanced. > > > > On Sat, Nov 29, 2014 at 1:43 AM, Maxim Solodovnik <[email protected]> > > wrote: > > > > > Thanks will try to check :) > > > > > > On Sat, Nov 29, 2014 at 1:33 AM, Martin Grigorov <[email protected] > > > > > wrote: > > > > > >> Hi Maxim, > > >> > > >> Check http://joshowens.me/dealing-with-timezones-in-javascript/. It > may > > >> be > > >> in use for you. > > >> > > >> Martin Grigorov > > >> Wicket Training and Consulting > > >> https://twitter.com/mtgrigorov > > >> > > >> On Tue, Nov 11, 2014 at 9:39 AM, Maxim Solodovnik < > [email protected] > > > > > >> wrote: > > >> > > >> > OK, will try to do it after ApacheConEU > > >> > Thanks for the review! > > >> > > > >> > On 11 November 2014 14:33, Martin Grigorov <[email protected]> > > >> wrote: > > >> > > > >> > > I find the knowledge of the client timezone generally useful! > > >> > > If you improve the points in my last mail and integrate it > > >> > > in wicket-browser-info.js then it has better chance of being > merged > > >> ;-) > > >> > > > > >> > > Martin Grigorov > > >> > > Wicket Training and Consulting > > >> > > https://twitter.com/mtgrigorov > > >> > > > > >> > > On Tue, Nov 11, 2014 at 10:28 AM, Maxim Solodovnik < > > >> [email protected] > > >> > > > > >> > > wrote: > > >> > > > > >> > > > you are right :( > > >> > > > I can improve it if it worth so > > >> > > > > > >> > > > The idea was to get client timezone rulez using JS: the exact > DST > > >> > switch > > >> > > > start/end date/time > > >> > > > send this data to the server and then find Java timezone with > best > > >> > match > > >> > > > > > >> > > > > > >> > > > On 11 November 2014 14:24, Martin Grigorov < > [email protected]> > > >> > wrote: > > >> > > > > > >> > > > > Hi Maxim, > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > https://github.com/solomax/tzdetect/blob/master/src/main/webapp/tzdetect.js > > >> > > > > is not very usable in its current state. > > >> > > > > My issues with it: > > >> > > > > - no documentation > > >> > > > > - no tests > > >> > > > > - uses short named variables and method names (thus hard to > > >> follow) > > >> > > > > - ... > > >> > > > > > > >> > > > > I have forked it so I can use it as inspiration if I need it > > >> later. > > >> > > > > Feel free to remove it. > > >> > > > > > > >> > > > > Thanks! > > >> > > > > > > >> > > > > Martin Grigorov > > >> > > > > Wicket Training and Consulting > > >> > > > > https://twitter.com/mtgrigorov > > >> > > > > > > >> > > > > On Mon, Nov 10, 2014 at 6:02 PM, Maxim Solodovnik < > > >> > > [email protected]> > > >> > > > > wrote: > > >> > > > > > > >> > > > > > @Martin > > >> > > > > > > > >> > > > > > were you able to take a look at this code? > > >> > > > > > Is it look useful? Or I can remove it? > > >> > > > > > > > >> > > > > > On 23 September 2014 00:54, Maxim Solodovnik < > > >> [email protected] > > >> > > > > >> > > > > wrote: > > >> > > > > > > > >> > > > > > > Finally was able to create prototype: > > >> > > > > > https://github.com/solomax/tzdetect > > >> > > > > > > Maybe you can find it (or parts of it) usable > > >> > > > > > > > > >> > > > > > > On 3 September 2014 12:25, Maxim Solodovnik < > > >> > [email protected]> > > >> > > > > > wrote: > > >> > > > > > > > > >> > > > > > >> I believe if TZ rulez will be detected on client side, > and > > TZ > > >> > > itself > > >> > > > > on > > >> > > > > > >> server side it might find user TZ good enough. (due to TZ > > >> list > > >> > > with > > >> > > > > > rulez > > >> > > > > > >> will be maintained by java vendor, not JS library itself) > > >> > > > > > >> will try to modify the code and provide quickstart > > >> > > > > > >> > > >> > > > > > >> > > >> > > > > > >> On 3 September 2014 18:18, Martin Grigorov < > > >> > [email protected]> > > >> > > > > > wrote: > > >> > > > > > >> > > >> > > > > > >>> see https://github.com/moment/moment-timezone/issues/55 > > >> > > > > > >>> if Moment.js cannot do it then I don't think we will do > it > > >> > > > > > >>> > > >> > > > > > >>> Martin Grigorov > > >> > > > > > >>> Wicket Training and Consulting > > >> > > > > > >>> https://twitter.com/mtgrigorov > > >> > > > > > >>> > > >> > > > > > >>> > > >> > > > > > >>> On Wed, Sep 3, 2014 at 12:13 PM, Maxim Solodovnik < > > >> > > > > > [email protected]> > > >> > > > > > >>> wrote: > > >> > > > > > >>> > > >> > > > > > >>> > there seems to be timezones with more than 1 dst start > > per > > >> > year > > >> > > > :( > > >> > > > > > >>> > code should be updated to reflect this :( > > >> > > > > > >>> > > > >> > > > > > >>> > > > >> > > > > > >>> > On 3 September 2014 16:11, Maxim Solodovnik < > > >> > > > [email protected]> > > >> > > > > > >>> wrote: > > >> > > > > > >>> > > > >> > > > > > >>> > > was tested against multiple Time zones listed here: > > >> > > > > > >>> > > http://www.worldtimezone.com/daylight.html and own > TZ > > >> > > > > > >>> (Asia/Novosibirsk) > > >> > > > > > >>> > > > > >> > > > > > >>> > > > > >> > > > > > >>> > > On 3 September 2014 16:09, Maxim Solodovnik < > > >> > > > > [email protected]> > > >> > > > > > >>> > wrote: > > >> > > > > > >>> > > > > >> > > > > > >>> > >> here is the JS code > > >> > > > > > >>> > https://gist.github.com/solomax/e86cc77694d67120b8f5 > > >> > > > > > >>> > >> to get DST start date/time (if any) > > >> > > > > > >>> > >> only minute offset was not tested due to > impossibili > > to > > >> > set > > >> > > TZ > > >> > > > > > >>> "Chatham > > >> > > > > > >>> > >> Island" on my Ubuntu) > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> similar code can be added to get DST end date/time > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> the code also might need to be "polished" a little > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> On 3 September 2014 19:59, Martin Grigorov < > > >> > > > > [email protected]> > > >> > > > > > >>> > wrote: > > >> > > > > > >>> > >> > > >> > > > > > >>> > >>> On Sep 3, 2014 10:39 AM, "Maxim Solodovnik" < > > >> > > > > > [email protected]> > > >> > > > > > >>> > >>> wrote: > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > Actually my code can be extended to get > > >> > > > > > >>> > >>> > 1) if TZ has DST or not > > >> > > > > > >>> > >>> > 2) what month DST happening > > >> > > > > > >>> > >>> > 3) the day of month DST happening > > >> > > > > > >>> > >>> > 4) hour of day DST happening > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > I believe after all this info is available the > > list > > >> of > > >> > > time > > >> > > > > > zones > > >> > > > > > >>> > with > > >> > > > > > >>> > >>> > certain offset can be reduced to better match > > >> current > > >> > > user > > >> > > > > TZ. > > >> > > > > > >>> > >>> > I can provide sample JS code for 1-4 above > > >> > > > > > >>> > >>> > > >> > > > > > >>> > >>> This will increase the chance to include it ! ;-) > > >> > > > > > >>> > >>> > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > On 3 September 2014 14:22, Martin Grigorov < > > >> > > > > > [email protected] > > >> > > > > > >>> > > > >> > > > > > >>> > >>> wrote: > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > > Hi Maxim, > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > Can you please provide more information how > your > > >> code > > >> > > > > solves > > >> > > > > > >>> the > > >> > > > > > >>> > >>> problem ? > > >> > > > > > >>> > >>> > > AFAIU Robert explains that Wicket's code > > properly > > >> > > detects > > >> > > > > the > > >> > > > > > >>> > >>> timezone > > >> > > > > > >>> > >>> > > offset, but since there are many timezone ids > > for > > >> a > > >> > > given > > >> > > > > > >>> offset it > > >> > > > > > >>> > >>> is > > >> > > > > > >>> > >>> not > > >> > > > > > >>> > >>> > > easy to detect the correct DST from the > offset. > > >> > > > > > >>> > >>> > > In your code I don't see anything that should > > >> provide > > >> > > the > > >> > > > > > >>> missing > > >> > > > > > >>> > >>> timezone > > >> > > > > > >>> > >>> > > id. > > >> > > > > > >>> > >>> > > Or I am missing something ? > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > Martin Grigorov > > >> > > > > > >>> > >>> > > Wicket Training and Consulting > > >> > > > > > >>> > >>> > > https://twitter.com/mtgrigorov > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > On Wed, Sep 3, 2014 at 9:44 AM, Maxim > > Solodovnik < > > >> > > > > > >>> > >>> [email protected]> > > >> > > > > > >>> > >>> > > wrote: > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > > Hello All, > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > Some time ago we had user query [1] claiming > > >> wicket > > >> > > > based > > >> > > > > > TZ > > >> > > > > > >>> > >>> detection is > > >> > > > > > >>> > >>> > > > not accurate. > > >> > > > > > >>> > >>> > > > I believe the detection can be enhanced: DST > > >> rules > > >> > > can > > >> > > > be > > >> > > > > > >>> > detected > > >> > > > > > >>> > >>> using > > >> > > > > > >>> > >>> > > JS > > >> > > > > > >>> > >>> > > > code and taken into account while TZ > guessing > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > here is the example of JS code determining > > >> month TZ > > >> > > > > switch > > >> > > > > > is > > >> > > > > > >>> > >>> happening: > > >> > > > > > >>> > >>> > > > [2] line 50 > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > Maybe it worth to implement something like > > this > > >> in > > >> > > > > Wicket? > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > [1] > > >> http://markmail.org/message/v7vmfburg4zrtizk > > >> > > > > > >>> > >>> > > > [2] > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > >> > > > > > >>> > >>> > > >> > > > > > >>> > > > >> > > > > > >>> > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > https://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/js/openmeetings_functions.js?revision=1562780&view=markup > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > -- > > >> > > > > > >>> > >>> > > > WBR > > >> > > > > > >>> > >>> > > > Maxim aka solomax > > >> > > > > > >>> > >>> > > > > > >> > > > > > >>> > >>> > > > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > > > >> > > > > > >>> > >>> > -- > > >> > > > > > >>> > >>> > WBR > > >> > > > > > >>> > >>> > Maxim aka solomax > > >> > > > > > >>> > >>> > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> > > >> > > > > > >>> > >> -- > > >> > > > > > >>> > >> WBR > > >> > > > > > >>> > >> Maxim aka solomax > > >> > > > > > >>> > >> > > >> > > > > > >>> > > > > >> > > > > > >>> > > > > >> > > > > > >>> > > > > >> > > > > > >>> > > -- > > >> > > > > > >>> > > WBR > > >> > > > > > >>> > > Maxim aka solomax > > >> > > > > > >>> > > > > >> > > > > > >>> > > > >> > > > > > >>> > > > >> > > > > > >>> > > > >> > > > > > >>> > -- > > >> > > > > > >>> > WBR > > >> > > > > > >>> > Maxim aka solomax > > >> > > > > > >>> > > > >> > > > > > >>> > > >> > > > > > >> > > >> > > > > > >> > > >> > > > > > >> > > >> > > > > > >> -- > > >> > > > > > >> WBR > > >> > > > > > >> Maxim aka solomax > > >> > > > > > >> > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > -- > > >> > > > > > > WBR > > >> > > > > > > Maxim aka solomax > > >> > > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > -- > > >> > > > > > WBR > > >> > > > > > Maxim aka solomax > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > -- > > >> > > > WBR > > >> > > > Maxim aka solomax > > >> > > > > > >> > > > > >> > > > >> > > > >> > > > >> > -- > > >> > WBR > > >> > Maxim aka solomax > > >> > > > >> > > > > > > > > > > > > -- > > > WBR > > > Maxim aka solomax > > > > > > > > > > > -- > > WBR > > Maxim aka solomax > > > -- WBR Maxim aka solomax
