我需要根据文件名查找文件的年龄。所有文件都遵循这样的命名约定:DD-MM-YYYY。
我可以使用模数运算符制作一个程序,根据过去的天数/月数等来生成文件名,但我似乎无法理解如何根据名称计算年龄。欢迎任何小费。
任何代码示例/-建议最好是Java。
问候Martin
您可以使用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");
如果最后修改的日期足够,可以使用:
File file = new File("C:/file.txt");
Date date = new Date(file.lastModified());
System.out.println(date);