簡體   English   中英

java ISO_LOCAL_DATE_TIME 的 Elasticsearch 等效日期模式

[英]Elasticsearch equivalent date pattern for java ISO_LOCAL_DATE_TIME

在我的 pojo 中有一個 LocalDateTime 字段,其格式為

DateTimeFormatter.ISO_LOCAL_DATE_TIME

我必須將 pojo 保存在 elasticsearch 中。 elasticsearch 中該字段的相關字符串模式應該是什么? 我嘗試了以下

"action_time": {
    "type": "date",
    "format": "yyyy-MM-dd hh:mm:sss"
}

當我在 java 中使用 ISO_LOCAL_DATE_TIME 格式打印字段時,我得到了這個 output

2022-08-04T16:29:09.866

這里的正確模式應該是什么?

JSON 定義中的"format"模式與ISO_LOCAL_DATE_TIME之一不匹配,因為它......

  • 不包括日期和時間之間的T
  • 包含 3 s ,這將(可能無法預測)產生一個三位數的秒數,盡管這些值限制為 59
  • 不包含任何輸出幾分之一秒的符號(應該是S
  • 使用小寫符號表示一天中的小時,這是 12 小時格式,並且需要 output 中某處的AMPM才能准確

請改用此模式:

"action_time": {
    "type": "date",
    "format": "yyyy-MM-dd'T'HH:mm:ss.SSS"
}

您可以在DateTimeFormatter的 JavaDocs 中閱讀有關這些模式符號的更多信息(此處為 Java 9)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM