我有一个奇怪的问题。我有这种方法,它应该在目录名之外生成日期。
private Date getSubfolderDate(File file) {
String name = file.getName();
SimpleDateFormat parser = new SimpleDateFormat("dd-MM-YY");
Date date;
try {
date = parser.parse(name);
} catch (ParseException e) {
return null;
}
return date;
}
它返回的字符串名称=“ 17-06-12”:“ CET一月02 00:00:00
2012“
并且对于字符串名称=“ 18-06-12”:“ CET 2012年1月2日星期一00:00:00”
为什么?
后来我将它们与compareTo(Date xy)进行比较,它返回0,所以它必须是相同的.....
最佳答案
您的格式也不正确,应该为dd-MM-yy
(对于17-06-12),要跟踪问题,请使用printStackTrace()
检查catch块
也SimpleDateFormat
从String解析日期,结果Date将调用具有固定格式的toString()
因此,如果您希望再次打印格式化的日期,则需要使用simpleDateFormat.format(dateInstance)
Date
类没有任何属性可以保存要在toString()
中打印的格式