Le 2011-03-07 à 14:40, Chuck Hill a écrit :

> On Mar 7, 2011, at 11:27 AM, Pascal Robert wrote:
>> Le 2011-03-07 à 14:24, Chuck Hill a écrit :
>> On Mar 7, 2011, at 11:21 AM, Pascal Robert wrote:
>>> 
>>>> Just tried that, and when I display the date in a WOTextField with a 
>>>> dateformat formatter, the time show up in GMT instead of America/Montreal, 
>>>> even if I call this.setTimeZone(TimeZone.getTimeZone("America/Montreal")); 
>>>> in Session.java.
>>> 
>>> Is "this" the date formatter?
>> 
>> this = session. 
> 
> Ah, ERXSession.  That only applies to a date format string, not a date 
> formatter:
> 
>       /**
>        * If the property er.extensions.ERXSession.autoAdjustTimeZone=true then
>        * WOStrings and WOTextFields with dateFormat bindings will be have 
> their
>        * formatter automatically adjusted for the selected session time zone.
>        * @return value of er.extensions.ERXSession.autoAdjustTimeZone 
> property. Default is false.
>        */
> 
> If you create a formatter in your code, you need to set the timezone yourself.

.... And we have a winner! autoAdjustTimeZone is now true, and everything's 
working now.

BTW, this is to create to be able to edit the date with a AjaxDatePicker, and 
the time with a WOTextField. The "startDate" is a model attribute, and the 
"startTime" is a non-model attribute. When I create a new Event, I set 
startDate and startTime with the current date and time, and when setStartTime 
is called, I take the time out of startTime and set the hour and minutes of 
startDate with the values coming from startTime:

  public void setStartTime(NSTimestamp _startTime) {
    if (this.startDate() != null) {
      java.util.Calendar ajustedDate = 
GregorianCalendar.getInstance(this.startDate().timeZone());
      ajustedDate.setTimeInMillis(this.startDate().getTime());
      
      java.util.Calendar ajustedTime = 
GregorianCalendar.getInstance(_startTime.timeZone());
      ajustedTime.setTimeInMillis(_startTime.getTime());
     
      ajustedDate.set(java.util.Calendar.HOUR_OF_DAY, 
ajustedTime.get(Calendar.HOUR_OF_DAY));
      ajustedDate.set(java.util.Calendar.MINUTE, 
ajustedTime.get(Calendar.MINUTE));
      this.setStartDate(new NSTimestamp(ajustedDate.getTime()));
      NSLog.out.appendln(this.startDate());
    } else {
      NSLog.out.appendln("startDate() is null");
    }
    this.startTime = _startTime;
  }

> 
> Chuck
> 
> 
>>>> 
>>>> To make it short, I want to store the time in GMT, but want to show and 
>>>> edit it in the local timezone of the user. Me starting to think that I 
>>>> should use a long that store the epoch :-/
>>>> 
>>>>> any reason you can't just run your app in GMT via the user.timezone 
>>>>> property?
>>>>> 
>>>>> ms
>>>>> 
>>>>> On Mar 7, 2011, at 9:10 AM, Pascal Robert wrote:
>>>>> 
>>>>>> It look like H2 stores the time in the system's timezone instead of GMT. 
>>>>>> For example, a NSTimestamp which time is 13:40:58 Etc/GMT is stored as 
>>>>>> 08:40:58 because my system is set to America/Montreal (GMT -5). 
>>>>>> According to H2 documentation:
>>>>>> 
>>>>>> " If the time zone is not set, the value is parsed using the current 
>>>>>> time zone setting of the system. Date and time information is stored in 
>>>>>> H2 database files without time zone information. If the database is 
>>>>>> opened using another system time zone, the date and time will be the 
>>>>>> same. That means if you store the value '2000-01-01 12:00:00' in one 
>>>>>> time zone, then close the database and open the database again in a 
>>>>>> different time zone, you will also get '2000-01-01 12:00:00'. Please 
>>>>>> note that changing the time zone after the H2 driver is loaded is not 
>>>>>> supported. "
>>>>>> 
>>>>>> I really need to store the dates in GMT, or at least store the timezone 
>>>>>> offset, but I didn't find how to tell H2 to store it. I was thinking it 
>>>>>> might be because the formatter that ERH2PlugIn.formatValueForAttribute() 
>>>>>> calls is not storing the timezone offset, but when debugging, I don't 
>>>>>> even reach that formatter, so the problem doesn't seem to be there.
>>>>>> 
>>>>>> --
>>>>>> Pascal Robert
>>>>>> [email protected]
>>>>>> 
>>>>>> AIM/iChat : MacTICanada
>>>>>> LinkedIn : http://www.linkedin.com/in/macti
>>>>>> Twitter : pascal_robert
>>>>>> 
>>>>>> _______________________________________________
>>>>>> 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/mschrag%40pobox.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/chill%40global-village.net
>>>> 
>>>> This email sent to [email protected]
>>> 
>>> -- 
>>> Chuck Hill             Senior Consultant / VP Development
>>> 
>>> Practical WebObjects - for developers who want to increase their overall 
>>> knowledge of WebObjects or who are trying to solve specific problems.    
>>> http://www.global-village.net/products/practical_webobjects
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
> 
> -- 
> Chuck Hill             Senior Consultant / VP Development
> 
> Practical WebObjects - for developers who want to increase their overall 
> knowledge of WebObjects or who are trying to solve specific problems.    
> http://www.global-village.net/products/practical_webobjects
> 
> 
> 
> 
> 
> 
> 

 _______________________________________________
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