2015-07-21 8 views
0

Просто я сохраняю данные «исходной даты» как переменную String в текстовом файле, например. 02-02-2015, и мне просто нужно знать, прошло ли 3 дня с этой начальной даты. Мне рекомендовали использовать JodaTime, но я продолжал получать ошибки с ним, которые, как я полагаю, связан с тем, что я сравниваю переменные String и Int.Попытка найти разницу в днях с JodaTime

Возможно ли это, если да, то каким образом? Заранее спасибо?

EDIT: Извините, я не размещал код.

public void startDelay() { 
    DateTime dt = new DateTime(); 
    DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); 
    delayPin = fmt.print(dt); 
} 

public int delayEnded() { 
    DateTime dt = new DateTime(); 
    DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyyy"); 
    String today = fmt.print(dt); 
    delayProgress = Days.daysBetween(new DateTime(delayPin), new DateTime(today)).getDays(); 
    return delayProgress; 
} 

delayPin хранится в текстовом файле. Я повторил метод, чтобы получить сегодняшнюю дату во втором методе delayEnded.

+2

Опубликовать код, который вы уже пробовали. –

+2

Можете ли вы представить некоторое представление о том, что вы делаете, в примере кода? – MadProgrammer

+0

Вы пробовали что-то вроде [этого] (http://stackoverflow.com/questions/26858419/subtracting-dates-and-get-difference-in-days-how-to-subtract-them/26858678#26858678) – MadProgrammer

ответ

2

Что-то вроде этого?

String storedDateString = "02-02-2015"; 
DateTimeFormatter format = 
      new DateTimeFormatterBuilder().appendPattern("MM-dd-yyyy").toFormatter(); 
Boolean isThreeDaysPassed = 
      LocalDate.now().minusDays(3).isAfter(LocalDate.parse(storedDateString, format)); 
+0

Wroked отлично спасибо. – Cem