当前位置: 首页 > 知识库问答 >
问题:

将Groovy日期操作转换为无痛操作

丁文轩
2023-03-14

我有一个 Elasticsearch 的搜索查询,它使用一个时髦的内联脚本,我需要将其转换为 Painless 语言

mdt= doc.eventstartdate.value;
dtevent = new DateTime(mdt).withTime(0,0,0,0).getMillis();
d = (dtevent<dtnow?dtnow:dtevent);

如您所见,这获取了“事件开始日期”,去掉了时间(设置为00:00:00)

然后与当前日期(dtnow)进行比较,如果小于当前日期,则将其更改为当前日期(实际上没有过去的日期,只有今天以后的日期)

我不是一个Java程序员,我相信无痛的日期处理已经改变,所以希望转换上述?

谢谢

共有1个答案

公孙高畅
2023-03-14

修复此问题:

Instant startDate = Instant.ofEpochMilli(doc.eventstartdate.date.millis);
long startDateMS = startDate.truncatedTo(ChronoUnit.DAYS).getEpochSecond() * 1000;
def d = (startDateMS<params.dtnow?params.dtnow:startDateMS);
 类似资料:
  • 我正在尝试用elasticsearch的脚本语言<code>无痛地操纵日期。具体来说,我试图增加4小时,即14400秒。 这将导致< code >无法对类型[org . elastic search . index . field data . scriptdocvalues . longs]和[java.lang.Integer]应用[ ]操作。 谢谢

  • 访问 获取子节点的Path 为了得到一个AST节点的属性值,我们一般先访问到该节点,然后利用 path.node.property 方法即可。 // the BinaryExpression AST node has properties: `left`, `right`, `operator` BinaryExpression(path) { path.node.left; path.n

  • 这个类别的全部是展示以某些东西为基础来创建 Observables 是多么的容易,因此他们可以和操作符配合的很好,而不在乎是怎样的构造,从而实现丰富的组合。 from 在 RxJS 4中,存在一些类似名称的操作符,例如 fromArray()、from()、fromPromise() 等等。所有这些 fromXXX 的操作符现在全由 from() 接管了。来看一些示例: 老的 fromArray

  • 本文向大家介绍python转化excel数字日期为标准日期操作,包括了python转化excel数字日期为标准日期操作的使用技巧和注意事项,需要的朋友参考一下 伙伴遇到一个关于excel导入数据到python中,日期变成数字而不是日期格式的问题。第一反应这个数字应该是excel里面的时间戳类似的,所以我就实验增加一天是不是对应的数字就加1。最后证明了我的想法,这样就可以倒推excel里面的数字日期

  • 格式化示例 # calendar_textcalendar.py import calendar c = calendar.TextCalendar(calendar.SUNDAY) c.prmonth(2017, 7) # calendar_yeardays2calendar.py import calendar import pprint cal = calendar.Calendar(

  • To 将Observable转换为另一个对象或数据结构 ReactiveX的很多语言特定实现都有一种操作符让你可以将Observable或者Observable发射的数据序列转换为另一个对象或数据结构。它们中的一些会阻塞直到Observable终止,然后生成一个等价的对象或数据结构;另一些返回一个发射那个对象或数据结构的Observable。 在某些ReactiveX实现中,还有一个操作符用于将O