Java 将DateTime设置为特定值
我使用joda time来比较一组日期。我的目标是遍历数组,看看缺少哪些日期。我计划通过将数组中的第一个变量分配给Java 将DateTime设置为特定值,java,jodatime,Java,Jodatime,我使用joda time来比较一组日期。我的目标是遍历数组,看看缺少哪些日期。我计划通过将数组中的第一个变量分配给DateTime变量,然后计算数组和日期时间来完成这项工作。如果DateTime等于array[x],则DateTime和数组都将增加1。如果DateTime不等于数组(意味着缺少一个日期),DateTime将递增一,并打印日期,直到DateTime等于array[x]。不过目前,我只是想得到它,以便第一个日期(在holder[2])是DateTime firstDate的值 我的问
DateTime
变量,然后计算数组和日期时间来完成这项工作。如果DateTime
等于array[x]
,则DateTime
和数组都将增加1。如果DateTime
不等于数组(意味着缺少一个日期),DateTime
将递增一,并打印日期,直到DateTime
等于array[x]
。不过目前,我只是想得到它,以便第一个日期(在holder[2])是DateTime firstDate
的值
我的问题是如何设置它,以便将持有者[2]
分配给日期时间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]
是日期)DateTime
字符串进行比较(因此,我需要做的第一件事是将数组的第一个值赋给DateTime
,这恰好是我的问题)如果
holder[2]
中包含的是格式为“yyyyymmdd”的日期字符串表示形式,则需要使用您定义的格式化程序:
firstDate = dtf.parseDateTime(holder[2]);
您的格式只包含年、月和日期。为什么不使用
LocalDate
?