Java将字符串转换为日期然后比较

标签 java date datetime comparison

我有一个二维字符串数组

static String[][] TaskStorage = {
{"Task 1","02/07/13"},  
{"Task 2","02/08/13"},  
{"Task 3","02/09/13"},  
{"Task 4","02/10/13"},  
{"Task 5","02/11/13"},  
{"Task 6","02/03/13"},  
{"Task 7","02/04/13"},  
{"Task 8","02/05/13"},  
{"Task 9","02/06/13"},  
{"Task 10","03/01/13"}, 
{"Task 11","03/02/13"}, 
{"Task 12","03/03/13"}, 
};

我想打印所有 TaskStorage[0][i],其中 TaskStorage[i][1] 为 02/07 和 02/08。 考虑到今天的日期是 02/04。今天的日期可以更改为 02/28。 TodayDate 将基于代码的执行时间。
基本上打印提前两天的任务。

这是我尝试过的:

SimpleDateFormat dateFormat = new SimpleDateFormat("mm/dd/yy");
TaskDate = dateFormat.parse(LinkStorage[i][1]);
if (todayDate.after(TaskDate)) {
    System.out.println("");
}

最佳答案

一种方法是使用 SimpleDateFormat将字符串解析为 Date 对象,然后通过 Date API 进行比较。

编辑问题更改:

Below is what I have tried.

SimpleDateFormat dateFormat = new SimpleDateFormat("mm/dd/yy");  
TaskDate = dateFormat.parse(LinkStorage[i][1]);  
if (todayDate.after(TaskDate)) {  
    System.out.println("")  
}  

Unfortunately not getting desired output

问题出在您的格式字符串上,您要求的是分钟而不是月份。将 "mm/dd/yy" 更改为 "MM/dd/yy" 你应该会有更好的运气。

关于Java将字符串转换为日期然后比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697927/

相关文章:

sql - 计算有效日期的非迭代/非循环方式?

javascript - 将今天日期转换为其他格式

javascript - Firefox 中的日期解析

使用 DateTime.date 的 C# MongoDb 项目

java - Antlr 在词法分析器中使用解析器

java - 你能帮我计算一下这个算法的时间复杂度吗?

java - 插入 "implements Xyz"的最佳位置是什么?抽象类与扩展类

date - 比较 Laravel 4 Blade 模板中的空日期碳对象

javascript - MongoDB/JS : find the minimum (earliest) date

java - Spring Boot 。找不到类型为 'org.hibernate.SessionFactory' 的 bean