[英]String to date issues
我遇到了一個問題,我可以將String更改為Date,但是由於在try / catch塊中而無法檢索數據:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM");
try {
Date date = formatter.parse(input);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
關於如何檢索數據有任何想法嗎?
附加信息:該項目是讓某人輸入他的出生日期和月份,以便該程序可以在Excel工作表上檢查他的星座。 我需要將輸入內容轉換為日期,還是將頭撞在牆上?
在try/catch
之前聲明您的日期:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM");
Date date = null;
try {
date = formatter.parse(input);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
在try-catch-block外部聲明date
,並將其填充在block中。 之后,數據將存儲在變量中,這取決於嘗試是否失敗以及在什么時候失敗。 這意味着您必須准備好不填充它,並檢查是否存在null等。
Date date = null;
try {
date = formatter.parse(input);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
if (date != null) { doSomething(date); }
您可以像其他答案一樣在try
塊外聲明date
。 但是,由於幾乎肯定無論如何都需要一個有效值來進行處理,因此您可能應該只在try
塊中包括用於處理它的代碼。 即:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM");
try {
Date date = formatter.parse(input);
System.out.println(formatter.format(date));
// do whatever you need with date here...
} catch (ParseException e) {
e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.