Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何输入日期减去天数?_Java_Date_Datetime_Calendar_Soapui - Fatal编程技术网

Java 如何输入日期减去天数?

Java 如何输入日期减去天数?,java,date,datetime,calendar,soapui,Java,Date,Datetime,Calendar,Soapui,在认为这是一个副本之前,请阅读 我一直在阅读这里和其他地方的帖子,但我不明白为什么这个日期一开始是无效的 我使用SoapUI Pro进行调用,并在XML中放置了一些代码引用,以便创建过去的日期,但我需要它们与今天相关,而不是将来或遥远的过去,因此我使用了以下内容 ${=import java.text.SimpleDateFormat; new SimpleDateFormat("YYYY-MM-DD").format(new Date()-6);} 当我向Web服务提交调用时,我返回了此错误

在认为这是一个副本之前,请阅读

我一直在阅读这里和其他地方的帖子,但我不明白为什么这个日期一开始是无效的

我使用SoapUI Pro进行调用,并在XML中放置了一些代码引用,以便创建过去的日期,但我需要它们与今天相关,而不是将来或遥远的过去,因此我使用了以下内容

${=import java.text.SimpleDateFormat;
new SimpleDateFormat("YYYY-MM-DD").format(new Date()-6);}
当我向Web服务提交调用时,我返回了此错误

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

有人能解释一下为什么会发生这种情况吗? 我需要什么来纠正这个问题

最终我需要能够做两件事

  • 以YYYY-MM-DD格式创建过去6天的日期
  • 以YYYY-MM-DD格式创建日期时间HH:MM:ss.SSSXXX
  • 非常感谢您在这方面的帮助。 我不能用这个日期吗?
    我看到一些人正在使用日历和对Java 8的新引用,今天早上这只是一个时间紧迫的问题,我不想去任何兔子洞去跟踪可能是一个问题的事情,因为服务器在这个时候没有使用Java 8。

    尝试类似的方法

    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -6); new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());}
    
    您也可以将其用于日期和时间,只需替换格式字符串即可

    格式化日期的corect模式是
    yyyy-MM-dd
    (参见javadoc)

    • y-指本年度
    • Y-表示一年中的第一周和最后一周()
    • 月份中的d日
    • 一年中的D日

    基于

    的答案试试这样

    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -6); new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());}
    
    您也可以将其用于日期和时间,只需替换格式字符串即可

    格式化日期的corect模式是
    yyyy-MM-dd
    (参见javadoc)

    • y-指本年度
    • Y-表示一年中的第一周和最后一周()
    • 月份中的d日
    • 一年中的D日
    回答基于

    再次感谢@MJar。 这些是我在通过SOAPUIPro和work提交的XML中使用的格式

    注意:代码都放在一行上,因为我就是这样做的,以放入XML,而不是有多行

    2016-02-02

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

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

    再次感谢@MJar。 这些是我在通过SOAPUIPro和work提交的XML中使用的格式

    注意:代码都放在一行上,因为我就是这样做的,以放入XML,而不是有多行

    2016-02-02

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

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


    这在SoapUI v5.3.0中适用:


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

    这在SoapUI v5.3.0中适用:

    ${=new java.text.simpleDataFormat(“yyyy-MM-dd”).format(new Date()-6)}

    ${=def now=new Date();now.format(“yyyy-MM-dd”)} 如果您需要它是昨天或未来的日期,就像+x to date() 例子 ${=def now=new Date()+10;now.format(“yyyy-MM-dd”)}

    ${=def now=new Date();now.format(“yyyy-MM-dd”)} 如果您需要它是昨天或未来的日期,就像+x to date() 例子
    ${=def now=new Date()+10;now.format(“yyyy-MM-dd”)}

    我已经做了40分钟了。正在尝试查找服务中发生的情况。即使在不减去天数的情况下使用上述格式${=import java.text.SimpleDateFormat;Calendar cal=Calendar.getInstance();new SimpleDateFormat(“YYYY-MM-DD”)。format(cal.getTime());}服务器持续响应的“2016-02-32”不是“date”的有效值。如果我只是硬编码2016-02-01的日期,那么它会过得很好。我用SoapUI非专业版5.0.0对它进行了本地测试,在SoapUI中有一个模拟服务,它工作得很好。可能有一些问题:您的搜贝版本,或者您已经将一些非公历设置为默认日历?尝试在SoapUI中设置模拟服务,并验证生成的请求是否符合预期。如果请求是正确的,那么服务器端可能有问题?我以前没有注意到的是日期格式模式不正确。应该是“yyyy-MM-dd”。谢谢你,MJar,我一回到办公室就会试试。很好。我一点也没看到。在过去的一个月里,它正好工作得很好,因为所有的日子都是有效的。32不是一个月的有效日期。非常感谢你的帮助。我相信这会纠正我在SoapUI中遇到的问题。我已经做了40分钟了。正在尝试查找服务中发生的情况。即使在不减去天数的情况下使用上述格式${=import java.text.SimpleDateFormat;Calendar cal=Calendar.getInstance();new SimpleDateFormat(“YYYY-MM-DD”)。format(cal.getTime());}服务器持续响应的“2016-02-32”不是“date”的有效值。如果我只是硬编码2016-02-01的日期,那么它会过得很好。我用SoapUI非专业版5.0.0对它进行了本地测试,在SoapUI中有一个模拟服务,它工作得很好。可能有一些问题:您的搜贝版本,或者您已经将一些非公历设置为默认日历?尝试在SoapUI中设置模拟服务,并验证生成的请求是否符合预期。如果请求是正确的,那么服务器端可能有问题?我以前没有注意到的是日期格式模式不正确。应该是“yyyy-MM-dd”。谢谢你,MJar,我一回到办公室就会试试。很好。我一点也没看到。在过去的一个月里,它正好工作得很好,因为所有的日子都是有效的。32不是一个月的有效日期。多谢各位
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").format(cal.getTime());}
    
    ${=import java.text.SimpleDateFormat; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -6); new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());}