我在Kibana中有一堆数据,我需要通过使用一个带有“painless”的脚本字段来清理这些数据,这是Java的一个版本。目前,我在日志中有一个预先存在的索引,其日期格式为“2021-09- 27 T13:54:17.165Z”我需要找到从那天到今天的天数,无论何时运行此搜索,如果超过或达到300天,则需要返回false,如果其下限为true。
我试着用这个来得到它的天数:new Date().getTime() - doc['date'].value;
我在堆栈溢出上看到有人说new Date().getTime()会给予你今天的日期。但我认为问题是new Date().getTime()的时间格式以1657151078131的格式返回时间,但我的索引日期是“2021-09- 27 T13:54:17.165Z”我不知道如何转换它,以找到少于或多于300天的位移。
任何帮助都将不胜感激
1条答案
按热度按时间0lvr5msh1#
Tldr;
您在转换所有内容时遇到问题。
new Date().getTime()
-〉给出一个长型"2021-09-27T13:54:17.165Z"
-〉字符串待求解
你需要把它们移到相同的格式。下面我把
string
的日期转换成ZonedDateTime
,然后再转换成long
。这是一种方法。你可以了解更多关于无痛和时间格式here