我有 5 个文件。
1.ICAREP_ANI_SVCPROF_20120614_001.DAT
2.ICAREP_ANI_SVCPROF_20120617_001.DAT
3.ICAREP_ANI_SVCPROF_20120619_001.DAT
4.ICAREP_ANI_SVCPROF_20120615_001.DAT
5.ICAREP_ANI_SVCPROF_20120616_001.DAT
我想从该文件名中获取日期(例如“20120614”),并使用 java 编程比较每个日期以找到最新的日期。
有人可以帮我解决这个问题吗?
编辑! 下面是我的代码:
String[] children = dir.list();
String test = "";
for (i=0; i<children.length; i++) {
test = children[i].compareTo(children[i+1]);
}
最佳答案
这是您可以使用的简单逻辑,
String filepath = "ICAREP_ANI_SVCPROF_20120614_001.DAT";
String [] tempPath = filepath.split("_");
System.out.println(""+tempPath[3]); //output = 20120614
SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
try
{
Date date1 = ft.parse(tempPath[3]); //covert the string into date
}
catch(ParseException ex)
{
System.out.println(""+ex);
}
//compare the date logic
从下面的代码中,您可以使用 split ("_") 获取文件上的日期, 所以文件名的长度并不重要,
之后,您可以使用 SimpleDateFormat 和 “yyMMdd”模式。
然后使用 ft.parse(string) 生成 Date 对象。
关于java - 如何使用java获取字符串中的日期并进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14065633/