您的位置:首页 > 编程语言 > Java开发

将java的Date转换成Solr的时间格式

2016-03-11 10:04 330 查看
DateField 表示一个精确到毫秒的时间,值的格式是:

YYYY-MM-DDThh:mm:ssZ
其中,

YYYY 表示年,MM 表示月,DD 表示日,hh 表示24小时制的小时,mm 表示分钟,ss 表示秒。

值的注意的是上面的那个时间格式里没有时区;带时区的时间格式可以通过格林尼治时间表示。这里是一个示例的值:

1972-05-20T17:33:18Z

另一个带毫秒的例子:

1972-05-20T17:33:18.772Z

另外,DataField也支持日期计算。这个可以方便创建相对于当前时间的时间点。可以用这个表达从现在往后两个月:

+2MONTHS

这个表示一天以前:

-1DAY

使用/可以表示当前的某部分时间,这个表示当前的小时:

/HOUR

当然也能组合表达式,以下表示的是六个月零三天以后的日(一个月的第几天):
+6MONTHS+3DAYS/DAY

Java Date转成solr时间的代码如下:  

/**
* 将java Date格式转成Solr支持的UTC时间
* @param date
* @return
*/
public static String getSolrDate(Date date) {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");
sdf2.setTimeZone(TimeZone.getTimeZone("UTC"));
String result = sdf1.format(date) + "T" + sdf2.format(date) + "Z";
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr java Date