Я использую время для joda для сравнения массива дат. Моя цель - пройти через массив и посмотреть, какие даты отсутствуют. Я планирую выполнить это, назначив первую переменную в массиве переменной DateTime
, а затем подсчитав массив и дату. Если DateTime
равен array[x]
, то и DateTime
, и массив увеличится на единицу. Если DateTime
не равен массиву (это означает, что дата отсутствует), то DateTime
будет увеличиваться на единицу и распечатать дату до тех пор, пока DateTime
не станет равным Array[x]
. На данный момент, хотя, я просто пытаюсь получить его так, чтобы первая дата (у держателя [2]) была равна DateTime firstDate
.Установка DateTime до определенного значения
Мой вопрос заключается в том, как я могу сделать так, чтобы я мог назначить 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]
дата)формат даты в текстовом файле в ггггммдд, и я хочу, чтобы сравнить строку, что в строке
DateTime
(таким образом, первое, что мне нужно сделать, это назначить fi первое значение массива доDateTime
, которое, как мне кажется, является моим вопросом).я правильно настройки Joda Время
Ваш формат содержит только год, месяц и дату. Почему вы не используете 'LocalDate'? –