Java 如何以用户格式显示solr日期

Java 如何以用户格式显示solr日期,java,solr,Java,Solr,在solr中,我有以下记录,列名是userdate、firstname和lastname 2011-12-25T15:04:36.73Z abc xyz 2011-12-26T15:04:36.73Z yyy bbb 2011-12-26T15:04:36.73Z test one 在UI中,我不想显示日期和时间,而是希望以以下方式显示userdate(根据用户时区), 1.从solr获取日期时,它

在solr中,我有以下记录,列名是userdate、firstname和lastname

2011-12-25T15:04:36.73Z abc xyz                          
2011-12-26T15:04:36.73Z yyy bbb                      
2011-12-26T15:04:36.73Z test one
在UI中,我不想显示日期和时间,而是希望以以下方式显示userdate(根据用户时区), 1.从solr获取日期时,它将仅以UTC格式提供。 2.首先将UTC格式转换为用户时区,然后我喜欢以以下方式显示userdate

1 day ago abc xyz              
3 hour ago yyy yyy                              
5 second ago test one
提前感谢

您可以尝试使用API解析日期,并使用class方法获取两个日期之间的差异。

尝试以下操作: 1) 获取当前时间与从Solr获取的时间之间的间隔时间(以秒为单位), 2) 将此增量值转换为不同的时间单位

var publish = new Date("2016-11-17T09:22:24Z");
alert(publish);
时间单位会有很大帮助

    TimeUnit.SECONDS.toSeconds(long duration);
    TimeUnit.SECONDS.toMinutes(long duration);
    TimeUnit.SECONDS.toHours(long duration);
    TimeUnit.SECONDS.toDays(long duration);
依次尝试上面的代码,直到得到大于零的值,并且知道时间跨度和时间单位

var publish = new Date("2016-11-17T09:22:24Z");
alert(publish);