我需要根据文件的名称查找文件的年龄。 Alle文件保持这样的命名约定:DD-MM-YYYY。
我可以使用模数运算符制作程序,根据已经过了多少天/月来提出文件名,但我似乎无法理解如何从名称中计算年龄。欢迎任何提示。
任何codeamples / -suggestions最好是Java。
此致 马丁
答案 0 :(得分:7)
您可以使用DateFormat 解析日期以及格式化日期。
未测试:
String name = file.getName();
String datePortion = /*extract date portion*/;
DateFormat fmt = new SimpleDateFormat("dd-MM-yyyy");
Date fileDate = fmt.parse(datePortion);
long msBetweenDates = new Date().getTime() - fileDate.getTime();
如何提取日期部分取决于您的文件命名方案,但它可能很简单:
String datePortion = name.replaceAll(".*((\\d)+-(\\d)+-(\\d)+).*", "$1");
答案 1 :(得分:1)
如果上次修改日期足够,您可以使用:
File file = new File("C:/file.txt");
Date date = new Date(file.lastModified());
System.out.println(date);