下面的代碼打印出「vmtDataOrig.creationdate = 2012年11月3日」java.util.Date.toString()被打印出錯誤的格式
VmtData vmtDataOrig = VmtDataDao.getInstance().loadVmt(1);
System.out.println("vmtDataOrig.creationdate=" + vmtDataOrig.getCreationDate().toString());
這裏是在所述的creationDate字段的定義VmtData類:
private Date creationDate = null;
這裏是creationDate字段的休眠映射數據庫表的列:
<property name="creationDate" column="CREATIONDATE" type="date"/>
MySQL數據庫表中的CREATIONDATE列的類型爲「date」,對於檢索到的記錄,其值爲「2012-11-03」。
java.util.Date.toString()方法的Javadoc表示它應該以「dow mon dd hh:mm:ss zzz yyyy」格式打印Date對象。任何人都知道它爲什麼以「yyyy-MM-dd」的形式打印出來?
你確定這不是'java.sql.Date'嗎? – SLaks
VmtData.java具有「import java.util。*;」它不會從java.sql中導入任何內容 – pacoverflow
@pacoverflow由於碰撞(兩個單獨的Date類導入),它無法導入java.sql.Date。這意味着方法中返回的Date可能會返回一個'java.sql.Date',但它會顯式地在方法中輸入,如'java.sql.Date date = blah;'。 – Vulcan