Cant you just put a banner on the site, saying "Based on your x,y,z, we think your timezone is: whatever/wherever. If this is incorrect, please click here" and then let the user set the value - surely this would be far quicker to implement?
I personally dont mind being asked this on a website - its a one off operation, and then its set. And if I ever need to change it, Ill go look in my user settings/preferences. N On Fri, Dec 5, 2014 at 4:44 AM, Maxim Solodovnik <[email protected]> wrote: > 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 >
