Hi,

Thanks a lot for the test case! Yes, this is a bug. The problem is that in
ValueTimestamp.parseTry, after converting to UTC, the time of the day was
adjusted one hour (from 23:00:00 to 00:00:00), but the day was not adjusted
(so it stayed, which was wrong).

I will try to fix this for the next release.

Regards,
Thomas



On Fri, Nov 9, 2012 at 2:25 PM, Steve <[email protected]> wrote:

> Hi Thomas!
> Yes you are right and I' wrong ;-) =>   It's java.sql.Date and not
> java.util.Date.
>
> *What you might want to do is use getTimestamp() instead.*
> getTimestamp() looks much better.
>
> *But why do you use internal classes of the database engine?*
>
> I don't use the internal classes in my application. I only set the value
> of a  java.sql.TIMESTAMP colum by PreparedStatement.setObject(int, Object).
> My Object is the ISO8601 String (e.g. "2012-11-08T12:40:11.156Z") and I
> have the problem that if I select the column again, the "outcoming" date is
> not the same as the "incoming" one. So I was looking for the error cause.
>
> I wrote a JUnit test for you. There you can see that some strings will be
> correctly parsed (e.g. '2012-11-08T12:40:11.156Z') and some other ones like
> '2012-11-06T23:00:00.000Z' will not correctly parsed by the h2database.
>
> https://docs.google.com/open?id=0B7P_rknS1TWxQnkzSTZkWDkxWDA
>
> It looks like there is a problem if the time in the ISO Strings is set to
> twelve o'clock at night.
>
> Regards
> Steve
>
>
>
>
> Am Donnerstag, 8. November 2012 19:19:42 UTC+1 schrieb Thomas Mueller:
>>
>> Hi,
>>
>> I didn't run it myself, but ValueTimestamp.getDate() returns a
>> java.sql.Date (with the time set to 0) not a java.util.Date. What you might
>> want to do is use getTimestamp() instead.
>>
>> But why do you use internal classes of the database engine?
>>
>> Regards,
>> Thomas
>>
>>
>>
>> On Thu, Nov 8, 2012 at 2:23 PM, Steve <[email protected]> wrote:
>>
>>> Hi!
>>> My database contains a table which contains a java.sql.TIMESTAMP
>>> column. I found in the h2 databse source the ValueTimestamp.parse(String)
>>> function and so I tried to set the value of that column bei an ISO 8601
>>> String "2012-11-08T12:40:11.156Z".
>>> I was able to insert the row without any exception but in my opinion is
>>> the parsed value not correct.
>>>
>>>
>>> org.h2.value.ValueTimestamp.**parse("2012-11-08T12:40:11.**
>>> 156Z").getDate()
>>> --> internal java.util.Date.**fasttime: 1352329200000
>>>
>>> DatatypeFactory.newInstance().**newXMLGregorianCalendar("2012-**
>>> 11-08T12:40:11.156Z").**toGregorianCalendar().getTime(**)
>>> --> internal java.util.Date.**fasttime: 1352378411156
>>>
>>> Am I doing something wrong? Or will this bug fixed by the planned change
>>>  "Support date/time/timestamp as documented in
>>> http://en.wikipedia.org/wiki/**ISO860<http://en.wikipedia.org/wiki/ISO860>
>>> "
>>>
>>> Best Regards,
>>> Steve
>>>
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "H2 Database" group.
>>> To view this discussion on the web visit https://groups.google.com/d/**
>>> msg/h2-database/-/Mo89yOCxVsAJ<https://groups.google.com/d/msg/h2-database/-/Mo89yOCxVsAJ>
>>> **.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to h2-database...@**
>>> googlegroups.com.
>>>
>>> For more options, visit this group at http://groups.google.com/**
>>> group/h2-database?hl=en<http://groups.google.com/group/h2-database?hl=en>
>>> .
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/h2-database/-/_57TU4mEgO4J.
>
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/h2-database?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to