我有一个奇怪的问题。我有这种方法,它应该在目录名之外生成日期。

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()中打印的格式

10-01 05:52
查看更多