After testing with Internet Explorer I had to use different JavaScript to be 
able to extract the client time zone ID.  Now the code is something like this:

[ .html ]

<wo name="HiddenField"/>

<script>
  <wo:if condition="$browser.isIE">
     $('clientTimeZoneID').value = new Date().toString().match(/:\d\d 
\w+/)[0].split(' ')[1]
  </wo:if>
  <wo:else>
     $('clientTimeZoneID').value = new 
Date().toString().match(/\50\w+\51/)[0].match(/\w+/);
  </wo:else>
</script>

[ .wod ]

HiddenField: WOHiddenField {
        id = "clientTimeZoneID";
        value = clientTimeZoneID;
}

[ .java ]

        public ERXBrowser requestBrowser() {
                ERXRequest erxRequest = (ERXRequest) context().request();
                return erxRequest.browser();
        }


On Nov 13, 2010, at 11:52 AM, Ricardo J. Parada wrote:

> 
> 
> Just sharing what I'm doing...
> 
> It looks like getting the GMT offset and using that to create a time zone 
> does not give me an object that knows about daylight savings.
> 
> So I created a different approach which I've tested in Safari/Chrome/FireFox. 
>  The JavaScript is like this:
> 
> <wo:hidden value="$clientTimeZoneID" id="clientTimeZoneID"/>
> 
> <script>
> $('clientTimeZoneID').value = new 
> Date().toString().match(/\50\w+\51/)[0].match(/\w+/);
> </script>
> 
> This JavaScript gets you the ID of the timezone that appears in parenthesis 
> when converting a Date object to a string.  This returns something like 
> "EST", or "MST", or "PST", or "CST".  
> 
> Then from Java I can create a time zone object using the ID:
> 
>       TimeZone clientTimeZone = TimeZone.getTimeZone(clientTimeZoneID);
> 
> Using the ID is deprecated because CST could be confused with China Standard 
> Time (instead of Central Standard Time).  But I guess that's okay for us 
> because our clients are all US-based.  :-)
> 
> The TimeZone object created using this ID knows about daylight savings and 
> makes it useful for date/time input in the client time zone.  And I can then 
> know exactly what the equivalent is in my app's time zone.
> 
> P.S. I still have to test in Internet Explorer.
> 
> 
>  
> On Nov 12, 2010, at 12:37 AM, Travis Britt wrote:
> 
>> Yeah I do this by using javascript get the GMT offset reported by the 
>> browser on login, and store that in the session. Then use the offset to 
>> create a java.util.TimeZone and use that in a formatter to display all your 
>> time stamps in the user's expected time zone.
>> 
>> tb
>> 
>> On Nov 11, 2010, at 2:30 PM, Ricardo J. Parada wrote:
>> 
>>> Thanks... That should get me going.
>>> 
>>> 
>>> 
>>> On Nov 11, 2010, at 4:43 PM, Johann Werner wrote:
>>> 
>>>> Hi Ricardo,
>>>> 
>>>> have a look at 
>>>> http://josephscott.org/archives/2009/08/detecting-client-side-time-zone-offset-via-javascript/
>>>> So you could put the presented script snippet in your login form and 
>>>> extract the GMT offset of the client from the request form values.
>>>> 
>>>> jw
>>>> 
>>>> Am 11.11.2010 um 22:25 schrieb Ricardo J. Parada:
>>>> 
>>>>> 
>>>>> What are you all doing to find out the timezone from the browser?  I'm 
>>>>> guessing there is a header in the request containing this info.  
>>>>> 
>>>>> Thanks,
>>>>> Ricardo
>>>> 
>>>> 
>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/tbritt%40phigment.org
>>> 
>>> This email sent to [email protected]
>> 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/rparada%40mac.com
> 
> This email sent to [email protected]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to