IllegalArgumentException:无法将给定的Object格式化为Date

时间:2017-09-28 09:20:46

标签: java date datetime java-ee exception-handling

我试图通过setter方法设置上下文对象。但我收到以下代码行的错误:

  

IllegalArgumentException:无法将给定的对象格式化为日期

contextBO.setSettlDate(
    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
        .format( nppRequest.getIntrBankSettlementDt().toString())
);

来自nppRequest.getIntrBankSettlementDt()的价值是"2016-04-14",你们可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

(1)从SimpleDateFormat和您的输入:

  

nppRequest.getIntrBankSettlementDt()是" 2016-04-14"

要使用的格式应为:

new SimpleDateFormat("yyyy-MM-dd")

(2)同样假设nppRequest.getIntrBankSettlementDt()Date,您无需将其转换为String

由于需要采用格式" yyyy-MM-dd HH-mm-ss" ,请按照上述(2)进行:

contextBO.setSettlDate(
   new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
      .format( nppRequest.getIntrBankSettlementDt())

答案 1 :(得分:0)

希望它会帮助你

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
    contextBO.setSettlDate(dateFormat.format( nppRequest.getIntrBankSettlementDt()));