I finally have switched to LocalDate/DateTime, everything seems to work as expected Thanks for the help!
On Fri, Dec 5, 2014 at 6:57 PM, Nick Pratt <[email protected]> wrote: > 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 > > > -- WBR Maxim aka solomax
