But that's what I am doing.
I did create a Calendar object initialized as a GMT "now". Then I
simply do a "getTime()" on it.
Now, when I print the result of the getTime() I get the local time,
but that's because of the locale. That's why I am suspecting Cayenne
to printout the Date object and the local being what it is, I end up
storing a local time. I know the database has no knowledge of time
zones, and that's why I want to store GMT times (and therefore also
avoid the daylight saving times passage problems).
So it summarizes to "how do I tell cayenne to use GMT when generating
the SQL to insert my Date" (and this, only in some areas). ?
Alex
Le 26 févr. 08 à 15:01, Michael Gentry a écrit :
> Sorry Alexander, I meant to reply to this.
>
> Most databases, to my knowledge, do not store dates with a time zone
> associated with them. I haven't played too much with storing things
> in GMT or any other specific time zone, but I would imagine that
> you'll need a helper method to do the time zone translations for you.
> For example, override the get/set methods in your subclass to convert
> from/to GMT. (This means you'll have to physically convert the time,
> not just apply the time zone offset.)
>
> Maybe someone else will correct me if I'm wrong on this, but that is
> the first approach I would try.
>
> /dev/mrg
>
> On Tue, Feb 26, 2008 at 8:25 AM, Alexander Lamb (dev)
> <alam..ac.com> wrote:
>> Maybe I can rephrase the question: does Cayenne do any kind of
>> transformation when storing Date objects in TIMESTAMP fields?
>>
>> If so, how can I control this?
>>
>> Thanks,
>>
>> Alex
>>
>> Le 25 févr. 08 à 16:17, Alexander Lamb a écrit :
>>
>>
>>
>>> Hello,
>>>
>>> Using Cayenne 3.0M3, MySQL 5.
>>>
>>> I have a field which is a TIMESTAMP. It maps to a Java.util.Date
>>> class in Java.
>>>
>>> If I do a myObject.setMyTimestamp(new Date()) I will store the local
>>> date.
>>>
>>> I would like to store a GMT date.
>>>
>>> I tried doing this:
>>>
>>> Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
>>>
>>> myObject.setMyTimestamp(cal.getTime());
>>>
>>> but again, I am back to the local time. Indeed, a trace shows "cal"
>>> is correctly set at the GMT value, but cal.getTime() is back to the
>>> local time (or at least the printout is, but it is as if Cayenne
>>> took the formated value and not the actual date value).
>>>
>>> How can I solve this problem?
>>>
>>> Thanks,
>>>
>>> Alex
>>> --
>>> Alexander Lamb
>>> Founding Associate
>>> RODANOTECH Sàrl
>>>
>>> 4 ch. de la Tour de Champel
>>> 1206 Geneva
>>> Switzerland
>>>
>>> Tel: 022 347 77 37
>>> Fax: 022 347 77 38
>>>
>>> http://www.rodanotech.ch
>>>
>>>
>>>
>>
>>
This archive was generated by hypermail 2.0.0 : Tue Feb 26 2008 - 09:42:22 EST