[ https://issues.apache.org/jira/browse/LUCENE-1070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12570412#action_12570412 ]
Kevin Conaway commented on LUCENE-1070: --------------------------------------- If the behavior is correct, it is extremely unintuitive. One would expect that dateToString() and stringToDate() would be symmetric. > 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]