java - 如何使用java获取字符串中的日期并进行比较

标签 java

我有 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/

相关文章:

java - 在Spring Controller 中获取参数的简单方法?

java - 如何在tomcat中执行war包中的一些初始化代码?

java - 在 JAVA 中将 Json 日期时间转换为字符串

java - 使用声明的类型进行 JAXB 解码不会使用数据填充结果对象

java - 迷宫生成器和玩家请帮助我

java - 在heroku上部署而不保留gradlew文件

java - 如何使用硬编码值声明自定义数据类型的静态数组?

java - 流<字符串> 到映射<字符串、整数>

java - 从给定长度生成所有可能的字符串

java - 使用 smtp.jar 查找连接到 linux 操作系统的可移植设备