我正在使用joda时间来比较一系列日期。我的目标是通过阵列查看缺少的日期。我计划通过将数组中的第一个变量分配给DateTime
变量,然后计算数组和日期时间来完成此操作。如果DateTime
等于array[x]
,则DateTime
和数组都将增加1。如果DateTime
与数组不相等(意味着缺少日期),则DateTime
将增加1并打印日期,直到DateTime
等于Array[x]
。目前,我只是试图得到它,以便第一个日期(持有人[2])是DateTime firstDate
的值。
我的问题是如何制作,以便holder[2]
分配给DateTime firstDate
?只需将firstDate
分配给holder[2]
即会返回错误。
DateTime firstDate = new DateTime();
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyyMMDD");
String date = dtf.print(firstDate);
String fake;
while ((fake = reader.readLine()) != null) {
String [] holder = fake.split(" ");
firstDate = holder[2]; //******the issue******
System.out.println(firstdate);
}
关于我的代码的重要事项:
我正在使用BufferedReader
从一个非常大的文件(20gb)中获取信息,所以我从文本文件中逐行读取(并且每行holder[2]
是
文本文件上Date的格式是yyyymmdd,我想将其字符串与DateTime
的字符串进行比较(因此我需要做的第一件事是分配第一个值数组到DateTime
恰好是我的问题。)
我已正确设置Joda Time
答案 0 :(得分:1)
如果holder[2]
中的内容是格式为“yyyyMMDD”的日期的字符串表示形式,则需要使用您定义的格式化程序:
firstDate = dtf.parseDateTime(holder[2]);