我必須輸入日期並將其轉換爲通用日期格式。 爲此,我創建了一個函數(非泛型函數),下面是函數的示例代碼。將給定日期轉換爲通用日期格式?
public class ConvertTimestampFormat{
public void evaluate(String dateInString) {
if (!StringUtils.isEmpty(dateInString)) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
ConvertTimestampFormat obj = new ConvertTimestampFormat();
obj.evaluate("2014-06-14-12:58");
}
}
如果示例代碼中存在錯誤,請更正。
在這裏,我已經硬編碼輸入日期格式2014-06-14-12:58
。在這裏,我會得到不同類型的日期格式,如2014/06/14-12:58
,2014-Mar-14-12:58
(這樣我現在可以得到5到6種格式)。我想用if來檢查格式,然後根據格式爲每種格式編寫單獨的代碼。但是如果將來有新的日期格式,它將會失敗。
我的輸出格式總是應該是yyyy-MM-dd hh:mm:ss
。
請建議我通用的方式(通用功能)來做到這一點。
要小心_generic_,它的Java世界它意味着這樣的事情'List',我認爲你的意思_flexible_超過一般不是嗎? –
superbob
如果您有兩種輸入日期格式,則每種類型都需要兩個日期格式化器。然後你解析第一個,捕獲異常,然後解析第二個,如果在這裏捕獲到異常,那麼輸入不匹配兩個格式化器。 –
@superbob我同意你的看法,它不僅僅是通用的。 – Ram