我有点进退两难。我有一个方法应该将给定的字符串转换为 Date 类型。出于某种原因,我可以在屏幕上打印出日期,但是当我尝试从方法中检索日期时,解析器返回 null。
用作参数的示例字符串:2017 年 8 月 10 日星期四 07:23:00 EEST
public Date convertStringToDate(String sDate) {
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault());
try {
Date date = format.parse(sDate);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
您正在try
主体中声明名为date
的第二个变量。删除Date
部分(使其成为本地部分(。改变
Date date = format.parse(sDate);
自
date = format.parse(sDate);
(代表OP发布(
我已经在方法之外的某个地方声明了日期变量,为了解决这个问题,我必须声明一个本地变量。下面是更新的工作代码:
public Date convertStringToDate(String sDate) {
Date date;
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault());
try {
date = format.parse(sDate);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}