我有一个二维字符串数组
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/