|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.lucene.document.DateTools
public class DateTools
Provides support for converting dates to strings and vice-versa. The strings are structured so that lexicographic sorting orders them by date, which makes them suitable for use as field values and search terms.
This class also helps you to limit the resolution of your dates. Do not save dates with a finer resolution than you really need, as then RangeQuery and PrefixQuery will require more memory and become slower.
Compared to DateField the strings generated by the methods
in this class take slightly more space, unless your selected resolution
is set to Resolution.DAY or lower.
Another approach is NumericUtils, which provides
a sortable binary representation (prefix encoded) of numeric values, which
date/time are.
For indexing a Date or Calendar, just get the unix timestamp as
long using Date.getTime() or Calendar.getTimeInMillis() and
index this as a numeric value with NumericField
and use NumericRangeQuery to query it.
| Nested Class Summary | |
|---|---|
static class |
DateTools.Resolution
Specifies the time granularity. |
| Method Summary | |
|---|---|
static String |
dateToString(Date date,
DateTools.Resolution resolution)
Converts a Date to a string suitable for indexing. |
static Date |
round(Date date,
DateTools.Resolution resolution)
Limit a date's resolution. |
static long |
round(long time,
DateTools.Resolution resolution)
Limit a date's resolution. |
static Date |
stringToDate(String dateString)
Converts a string produced by timeToString or
dateToString back to a time, represented as a
Date object. |
static long |
stringToTime(String dateString)
Converts a string produced by timeToString or
dateToString back to a time, represented as the
number of milliseconds since January 1, 1970, 00:00:00 GMT. |
static String |
timeToString(long time,
DateTools.Resolution resolution)
Converts a millisecond time to a string suitable for indexing. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static String dateToString(Date date,
DateTools.Resolution resolution)
date - the date to be convertedresolution - the desired resolution, see
round(Date, DateTools.Resolution)
yyyyMMddHHmmssSSS or shorter,
depending on resolution; using GMT as timezone
public static String timeToString(long time,
DateTools.Resolution resolution)
time - the date expressed as milliseconds since January 1, 1970, 00:00:00 GMTresolution - the desired resolution, see
round(long, DateTools.Resolution)
yyyyMMddHHmmssSSS or shorter,
depending on resolution; using GMT as timezone
public static long stringToTime(String dateString)
throws ParseException
timeToString or
dateToString back to a time, represented as the
number of milliseconds since January 1, 1970, 00:00:00 GMT.
dateString - the date string to be converted
ParseException - if dateString is not in the
expected format
public static Date stringToDate(String dateString)
throws ParseException
timeToString or
dateToString back to a time, represented as a
Date object.
dateString - the date string to be converted
ParseException - if dateString is not in the
expected format
public static Date round(Date date,
DateTools.Resolution resolution)
2004-09-21 13:50:11
will be changed to 2004-09-01 00:00:00 when using
Resolution.MONTH.
resolution - The desired resolution of the date to be returned
resolution
set to 0 or 1
public static long round(long time,
DateTools.Resolution resolution)
1095767411000
(which represents 2004-09-21 13:50:11) will be changed to
1093989600000 (2004-09-01 00:00:00) when using
Resolution.MONTH.
resolution - The desired resolution of the date to be returned
resolution
set to 0 or 1, expressed as milliseconds since January 1, 1970, 00:00:00 GMT
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||