In addition to my previous message: http://stackoverflow.com/questions/41504/timezone-lookup-from-latitude-longitude
I will probably use this approach to determine initial client timezone since I'm already use URL/IP to location functionality there: http://github.com/dmitrygusev/ping-service/blob/master/ping-service/src/dmitrygusev/ping/services/IPUtils.java (FYI this class uses http://ip-whois.net to resolve locations.) In current implementation I'm using UTC time by default in ping-service (GAE's default timezone), but user may specify its timezone in profile. On Thu, Aug 19, 2010 at 12:36, Dmitry Gusev <dmitry.gu...@gmail.com> wrote: > I didn't use one, but I believe such service exists that resolves client > timezone by client IP. > Client IP -> Location -> TimeZone. And this all may be resolved in very > first request. > > > On Thu, Aug 19, 2010 at 10:43, Fernando Padilla <f...@alum.mit.edu> wrote: > >> Since our apps deals with sports team schedules, timezones are important >> for us. That's why I kept trying to suggest timezone support, whenever you >> discussed locale support. >> >> But your main question is how to determine a client's timezone. There is >> no http-header way to get it, and a Javascript timezone detector is the only >> thing I could come up with. Even with Javascript timezone detection, you >> will not know a user's timezone on their first request, only after the >> timezone detector executes, calls back to the server, and a user's >> httpsession has been updated with their timezone. >> >> Even if after you're OK with that, Javascript only gives you access to an >> offset for a particular date, but not the actual timezone Id. To get the >> timezone Id you have to take some offset samples for a few dates, and back >> track those samples against the timezone database in Java. >> >> What I did, was to take a few date samples ( jan, jun, today, two weeks >> from today ), and generate the offsets for those dates on the client-side, >> then compare those values against all known timezones on the server-side. >> That will give you a short list of possible timezones that will all work >> for the user. Then I just store that against the user (httpSesstion), much >> as you would store the user's Locale - through putting timezoneid in url is >> not an option. >> >> If you're interested, what's the best way to give you the few files that >> would get you started? attach to a bug? >> >> >> - TimeZoneLookup.java >> - service, does the timezone database lookup, versus date offset samples >> - components/common/TimeZoneDetector.java >> - components/common/TimeZoneDetector.js >> - component that executes javascript to get date offset samples, and >> calls back to server for capturing >> - doesn't render if timezone has been detected already >> - we have our layout include timezone detector, so all pages include it >> - pages/common/TimeZoneDetector.java >> - javascript calls back independent page (not component action) >> - because i don't want to deal with unnecessary page activation of pages >> containing the Detector >> >> >> >> >> On 8/7/10 9:10 AM, Howard Lewis Ship wrote: >> >>> This is something that's been nagging me. Although there's a bunch of >>> good >>> options for selecting a date (or date/time) as JavaScript components bult >>> into Tapestry, or available elsewhere ... none of them address the issue >>> of >>> the client and the server operating in different time zones. >>> >>> At the very least, these components probably should include a time zone >>> drop >>> down list (or other means of selection). >>> >>> I haven't been able to find a sure-fire way of determing the user's time >>> zone from the HttpRequest. >>> >>> I'm curious what kinds of solutions the community have used to address >>> this >>> issue. It would be nice to come up with a true solution for Tapestry 5.3. >>> >>> One option is a bit of JavaScript that reports the client's time zone (or >>> just time) to the server so that the server can identify their time zone >>> automatically. >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com > -- Dmitry Gusev AnjLab Team http://anjlab.com