从新 java.text.SimpleDateFormat 中减去天数或年数

Subtract days or years from new java.text.SimpleDateFormat

应用程序: SoapUI XML 请求

我可以发誓这在我使用以下内容的时候是有效的:

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

要减或加,我会像这样添加 -# 或 +#:

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

-1 的结果显示为 1982

问题:

  1. 为什么要去掉 -MM-dd 部分?

  2. 为什么-1要减去23年

目标:

能够从 sysdate 中减去请求以 yyyy-MM-dd 格式显示 即,如果我想让某人成为 65 岁 - 我想从 sysdate 中减去得到那个。

这又是一个 SoapUI 标记,我正在其中填充表达式。

你把括号放错地方了!让我为您分解一下:

def yesterday = new Date() - 1
def sdf = new java.text.SimpleDateFormat("yyyy-MM-dd")
def yesterdayFormatted = sdf.format(yesterday)

如果你想在 SoapUI 中使用它 属性 一行:

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

请注意,您可以使用(稍微更紧凑)实现完全相同的效果:

${=String.format('%tF', new Date() - 1)}

formatter.

的文档