使用'yyyy-mm-dd hh mm ss'将java.util.Date转换为java.sql.Date

时间:2015-07-31 09:13:09

标签: java json datetime jackson

我需要将json字符串传递给其余的Web服务。有一个名为'amortizationdate'的属性,其格式为'yyyy-mm-dd hh mm ss'。

例如{amortizationdate:2015-07-31 00:00:00}

我们正在使用AmortizationVO.java,其属性为amortizationdate。

例如

private java.sql.Date amortizationDate.

public void setAmortizationDate(java.sql.Date  date){

}

我们需要通过调用setAmortizationDate(..date)方法并使用Jackson将AmortizationVO.java转换为Json来设置日期。

但在JSON中我得到{amortizationdate:2015-07-31}。但预期结果应该是时间戳。(amortizationdate:2015-07-31 00:00:00)

注意:我不想在我的Value Object中使用util date。

请帮助。

我尝试了什么:

java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());


ExcelEntityAddressVO entityAddressVO = new ExcelEntityAddressVO();      
entityAddressVO.setAmortizationDate(new java.sql.Date(sq.getTime()));

这是我的JSON:

{
  "amortizationdate" : "2015-07-31",
}

2 个答案:

答案 0 :(得分:1)

您不想要java.sql.Date - 它没有时间,请使用java.sql.Timestamp

答案 1 :(得分:0)

你可以试试这个:

import java.sql.Timestamp;

public class Test {

       public static void main(String[] args) {
            java.util.Date utilDate = new java.util.Date();
            System.out.println("utilDate:" + utilDate);
            Timestamp ts = new Timestamp(utilDate.getTime());
            System.out.println(ts);
       }
}