Java中的文件年龄

Mar*_*nnj 1 java file modulo

我需要根据文件名找到文件的年龄.Alle文件保持这样的命名约定:DD-MM-YYYY.

我可以使用模数运算符创建一个程序来根据已经过了多少天/月来提出文件名,但我似乎无法理解如何从名称中计算年龄.欢迎任何提示.

任何codeamples/-suggestions最好是Java.

关心马丁

Mar*_*ers 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();
Run Code Online (Sandbox Code Playgroud)

如何提取日期部分取决于您的文件命名方案,但它可能很简单:

String datePortion = name.replaceAll(".*((\\d)+-(\\d)+-(\\d)+).*", "$1");
Run Code Online (Sandbox Code Playgroud)