如何在 SoapUI 中获取日期减去天数?

Eli*_*jah 0 java datetime calendar date soapui

在认为这是重复之前,请阅读。

我一直在阅读这里和其他地方的帖子,但无法弄清楚为什么日期一开始就无效。

我正在使用 SoapUI Pro 进行调用并已放置在提交一些代码参考的 XML 中,以便创建过去的日期,但我需要它们与今天相关,而不是将来或​​遥远的过去,所以我有使用了以下

${=import java.text.SimpleDateFormat;
new SimpleDateFormat("YYYY-MM-DD").format(new Date()-6);}
Run Code Online (Sandbox Code Playgroud)

当我提交对 Web 服务的调用时,我会返回此错误。

“2016-02-32”不是“日期”的有效值

有人可以解释为什么会发生这种情况吗?我需要纠正什么?

最终,我需要能够做两件事。

  1. 创建一个日期格式为 YYYY-MM-DD 过去 6 天
  2. 创建格式为 YYYY-MM-DD HH:mm:ss.SSSXXX 的日期时间

非常感谢这方面的一些帮助。我不是要使用日期吗?我已经看到一些使用日历和对 Java 8 的新引用,这只是今天早上时间紧迫的事情,我不想深入任何兔子洞来跟踪可能有问题的可能的事情,因为服务器不是此时使用 Java 8。

MJa*_*Jar 5

尝试这样的事情

${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -6); new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());}
Run Code Online (Sandbox Code Playgroud)

您也可以将它用于日期和时间,只需替换格式字符串即可。

格式化日期的正确模式是yyyy-MM-dd(参见SimpleDateFormatjavadoc)

  • y - 表示当前年份
  • Y - 表示周年,可以与一年中的第一周和最后一周的年份不同解释差异
  • d - 月中的第几天
  • D - 一年中的一天

基于如何从 Java 中的日期对象中减去 X 天的答案