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 <[email protected]> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Dmitry Gusev

AnjLab Team
http://anjlab.com

Reply via email to