如何进入SoapUI日期减去天数?

时间:2016-02-01 13:53:52

标签: java date datetime calendar soapui

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

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

我正在使用SoapUI Pro进行调用并放置了提交一些代码引用的XML,以便在过去创建日期但是我需要它们相对于今天而不是未来或过去的某些东西所以我使用了以下

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

当我将呼叫提交给Web服务时,我收到了此错误。

  

' 2016-02-32'不是' date'

的有效值

有人可以解释为什么会这样吗? 我需要纠正这个问题?

最终我需要做两件事。

  1. 过去6天以YYYY-MM-DD格式创建日期
  2. 以YYYY-MM-DD HH格式创建日期时间:mm:ss.SSSXXX
  3. 非常感谢对此提供一些帮助。 我不使用日期吗? 我已经看到一些使用日历和Java 8的新引用,今天早上它只是一个时间紧迫的事情,我不想去任何兔子洞来跟踪可能的问题,因为服务器不是目前使用Java 8。

4 个答案:

答案 0 :(得分:4)

尝试这样的事情

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

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

格式化日期的核心模式为yyyy-MM-dd(请参阅explained difference javadoc)

根据https://xumingming.sinaapp.com/885/twitter-storm-how-to-develop-a-pluggable-scheduler/

回答

答案 1 :(得分:0)

再次感谢@MJar。 这些是我在XML中使用的格式,我通过SoapUI Pro提交并工作!

注意:代码全部都在一行上,因为这就是我放入XML而没有多行的方式。

2016年2月2日

${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());}

2016-02-03T09:54:55.866-05:00

${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").format(cal.getTime());}

或者让它成为过去的一天(这种情况是6天前)

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

答案 2 :(得分:0)

这在SoapUI v5.3.0中对我有效:

${=new java.text.SimpleDateFormat("yyyy-MM-dd").format(new Date() - 6)}

答案 3 :(得分:0)

$ {= def now = new Date(); now.format(“ yyyy-MM-dd”)} 如果您需要将它设为昨天或将来的日期,则将其与Date()的+ x一样 例 $ {= def now = new Date()+ 10; now.format(“ yyyy-MM-dd”)}