Question in elastic search to get specific records with specific date and time range

I would like to grep all the records that match "successLoginID" between 2021-01-07 to 2021-01-13 with time range from 09:00 to 18:00 but no records found with the below code. Can advise what's the problem? Thanks.

GET /project.sli-app01.*/_search
{
  "query": {
    "bool": {
      "must": {
        "match": {
          "message": "successLoginID"
        }
      },
      "filter": {
        "bool": {
          "must": [
             {
              "range": {
                "@timestamp": {
                  "format": "YYYY-MM-DD",
                  "time_zone": "+08:00",
                  "gte":"2021-01-07",
                  "lt": "2021-01-13"
                }
              }},{
              "range": {
                "@timestamp": {
                  "format": "HH:mm",
                  "time_zone": "+08:00",
                  "gte":"09:00",
                  "lt": "18:00"
                }
              }
              }
          ]
        }
      }
    }
  },
  "size": 1000,
  "_source": [
    "@timestamp",
    "level",
    "message",
    "kubernetes.container_name"
  ]
}

It's better if you can keep your question to a single topic :slight_smile:

Let's continue the discussion here - Question in elastic search to get specific records with specific date and time range - Elastic Stack / Elasticsearch - Discuss the Elastic Stack