通过 Unirest POST 从字符串发送日期格式的数据 - 输入无效

Send the Date Formatted data from String via Unirest POST getting - Invalid input

我向服务器发送了一些带有延迟日期的请求。 POST 请求如下所示:

{
   "text":"texst",
   "deferred_date":"2019-09-14 14:00"
}

我在 Java 中通过 Postman 或 Unirest 发送它并得到 201 Accepted 结果。 服务器以“2019-09-14T14:00:00+03:00”格式存储此日期值。

由于我在 Java 中修改了我的日期,最终数据存储在一个字符串

YYYY-MM-dd hh:mm format

DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm");
String deferredTime = "";
deferredTime = dateFormat.format(oldTime);

我原来的 Unirest 的 POST 有下一个车身结构:

    .body("{\"text\":\"...\",\"deferred_date\":\"2019-09-14 06:03\"}")

它工作正常,但如果我在 POST:

中使用我的 deferredTime 字符串
    .body("{\"text\":\"...\",\"deferred_date\":\"" + deferredTime + "\"}")

我收到 400 错误请求错误

{
   "userMessage":"Invalid input.",
   "errorCode":"invalid",
   "fields":{
      "deferred_date":[
         "Posting date Date has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."
      ]
   },
   "internalMessage":"Invalid input."
}

我不明白如果 deferredTime 字符串变量保持与我之前使用的相同 "YYYY-MM-dd hh:mm" 值,为什么它不起作用。 有什么建议吗?

根据 Ole V.V 的回答,我使用 LocalDateTime 字符串以“2018-09-16T10:41:48.619”格式存储我的日期,而不是将日期存储在 SimpleDateFormat 中“2018-09-16 10:41”。现在,如果格式正确,我会收到 201 Accepted 结果