DateTools with DAY resoltion dosn't work depending on your timezone
-------------------------------------------------------------------
Key: LUCENE-1070
URL: https://issues.apache.org/jira/browse/LUCENE-1070
Project: Lucene - Java
Issue Type: Bug
Affects Versions: 2.2
Reporter: Mike Baroukh
Hi.
There is another issue, closed, that introduced a bug :
https://issues.apache.org/jira/browse/LUCENE-491
Here is a simple TestCase :
DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm");
Date d1 = df.parse("10/10/2008 10:00");
System.err.println(DateTools.dateToString(d1, Resolution.DAY));
Date d2 = df.parse("10/10/2008 00:00");
System.err.println(DateTools.dateToString(d2, Resolution.DAY));
this output :
20081010
20081009
So, days are the same, but with DAY resolution, the value indexed doesn't refer
to the same day.
This is because of DateTools.round() : using a Calendar initialised to GMT can
make that the Date given is on yesterday depending on my timezone .
The part I don't understand is why take a date for inputfield then convert it
to calendar then convert it again before printing ?
This operation is supposed to "round" the date but using simply DateFormat to
format the date and print only wanted fields do the same work, isn't it ?
The problem is : I see absolutly no solution actually. We could have a
WorkAround if datetoString() took a Date as inputField but with a long, the
timezone is lost.
I also suppose that the correction made on the other issue
(https://issues.apache.org/jira/browse/LUCENE-491) is worse than the bug
because it correct only for those who use date with a different timezone than
the local timezone of the JVM.
So, my solution : add a DateTools.dateToString() that take a Date in parameter
and deprecate the version that use a long.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]