我在我的应用中使用了这部分代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss'Z'");
Date qdate = new GregorianCalendar(0,0,0).getTime();
try {
qdate = sdf.parse(dt);
} catch (ParseException e) {
e.printStackTrace();
}
但Eclipse抛出错误说:
未处理的异常类型ParseException
这是什么问题? 你需要我发布整个代码吗? Thnx提前!
答案 0 :(得分:9)
见下面的代码
String date = "Sat, 23 Jun 2012 00:00:00 +0000";
try {
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
SimpleDateFormat df2 = new SimpleDateFormat("dd/MM/yy");
date = df2.format(date));
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 1 :(得分:1)
该是展示现代方法的时候了。使用现代的Java日期和时间API java.time。
String dt = "2020-07-24T11:03:12Z";
try {
Instant i = Instant.parse(dt);
System.out.println(i);
} catch (DateTimeParseException dtpe) {
System.err.println(dtpe);
}
输出为:
2020-07-24T11:03:12Z
我正在利用这样一个事实,即您的格式为ISO 8601,而java.time类将ISO 8601的最常见变体解析为默认值,即没有任何显式格式化程序。
如果字符串不是UTC中的有效ISO 8601日期和时间,则异常起作用。例如:
String dt = "Not a valid date-time";
java.time.format.DateTimeParseException:无法在索引0处解析文本“无效的日期时间”
SimpleDateFormat
和Date
类的设计很差,而且已经过时,尤其是前者非常麻烦。我建议没有人再使用它们。现代化的API更好用。
答案 2 :(得分:0)
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("DD-MM-YYYY");
String Currentdatestr = df.format(c.getTime());
//get current date in String
Date date = df.parse(Currentdatestr);
//String to parse Date Format