On Nov 4, 2008, at 8:10 AM, Thomas Mueller wrote:

Hi,

this is *not* an issue with java.sql.Date.

I am not sure about that.

java.sql.Date is nothing but a wrapper to java.util.Date, so what you pass in to the valueOf get passed directly to the constructor of java.util.Date(int,int, int). All of the work is done in java.util.Date.


Regards
Lance


java.sql.Date.valueOf() calls java.util.Date(int,int,int) and if you modify
your test program, you will see the same results from java.util.Date.

I submitted the problem even without knowing the exact root cause. If
you found the root cause of the problem, or if you even know how to
fix it, that would be great of course!

It looks like midnight of that day doesn't exist because it is the
beginning or end of the daylight saving time. Where I live this change
occurs at 2 am, but in some countries the change is at or near
midnight. From what I know, java.util.Calendar doesn't allow to set
'invalid' hours, and if using the lenient setting it will 'fix' the
time. Maybe the reason is that midnight of that day is set to 11 pm of
the previous day. This change may be the expected behavior of
java.util.Date / Calendar, but for java.sql.Date it is a problem. So
maybe it is required to fix java.sql.Date, not java.util.Date. But I
am not sure because I didn't debug it so far.

Please update any submitted bug

I don't see a way to update the bug. I got a mail saying: "Your report
has been assigned an internal review ID of 1384760, which is NOT
visible on the Sun Developer Network (SDN)". There is no link.

Regards,
Thomas

Reply via email to