我有一个2D字符串数组
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("");
}
答案 0 :(得分:2)
一种方法是使用SimpleDateFormat将字符串解析为Date
个对象,然后通过Date
API进行比较。
修改为问题:
以下是我的尝试。
SimpleDateFormat dateFormat = new SimpleDateFormat("mm/dd/yy"); TaskDate = dateFormat.parse(LinkStorage[i][1]); if (todayDate.after(TaskDate)) { System.out.println("") }
不幸的是没有获得所需的输出
问题在于您的格式字符串,您要求分钟而不是月。将"mm/dd/yy"
更改为"MM/dd/yy"
,您应该有更好的运气。