你似乎在問你應該如何解析一個由字符串「 - - 」表示的「空」日期。簡單的答案是你不解析它!
而是做這樣的事情:
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); // or whatever
if (str.equals("- -")) {
invprbm.setFollowupDate(null);
} else {
invprbm.setFollowUpDate(formatter.parse(str));
}
如果你真的想從一個日期去一個字符串,你做這樣的事情:
if (date == null) {
invprbm.setFollowupDate("- -");
} else {
invprbm.setFollowUpDate(formatter.format(date));
}
問題與您目前的做法是,SimpleDateFormat
是不是旨在應付null
日期。它無法解析字符串以生成日期對象,並且無法格式化日期對象。
您當前的代碼實際上在做什麼是指定一種格式,它不告訴解析器如何從輸入字符串中提取任何日期/時間組件。 parse
方法正在返回一個Date對象,其getTime()
值爲零。這並非不合理,因爲您正在嘗試執行的操作不屬於SimpleDateFormat
類的javadoc規範。
是什麼問題? –
如果你可以解釋一點。給出的是什麼,你需要什麼。 –
你的輸入是什麼,你想輸出什麼 –