首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取字符串形式的日期并使用java进行比较

如何获取字符串形式的日期并使用java进行比较
EN

Stack Overflow用户
提问于 2012-12-28 14:36:49
回答 6查看 308关注 0票数 0

我有5个文件。

代码语言:javascript
运行
复制
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编程的最新日期。

有人能在这方面帮我吗?

编辑!下面是我的代码:

代码语言:javascript
运行
复制
 String[] children = dir.list();
 String test = "";
 for (i=0; i<children.length; i++) {
   test = children[i].compareTo(children[i+1]);
 }
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-12-28 14:54:20

下面是您可以使用的简单逻辑,

代码语言:javascript
运行
复制
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 ("_")获得文件的日期,因此文件名的长度无关紧要,

之后,您可以使用带有"yyMMdd“模式的SimpleDateFormat解析该字符串。

然后使用ft.parse(string)来生成Date对象。

票数 1
EN

Stack Overflow用户

发布于 2012-12-28 14:51:33

代码语言:javascript
运行
复制
int numbDate = Integer.parseInt((String) str.subSequence(19, 27))

其中str是您的文件名。

票数 1
EN

Stack Overflow用户

发布于 2012-12-28 15:02:42

如果你的文件名看起来总是一样的,你不需要提取日期,你可以简单地使用字符串比较文件名:

代码语言:javascript
运行
复制
file1.getName().compareTo(file2.getName())

这样你就可以找到最新的版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14065633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档