Получение количества дней между двумя датами в java

Привет, есть две даты в формате даты, как мне получить разницу в днях между ними?

Date date1;
Date date2 ;
int numberDays = ?

person user2133558    schedule 21.03.2013    source источник
comment
Ни один из повторяющихся вопросов не относится к дням между двумя Dates   -  person Steve Kuo    schedule 22.03.2013
comment
импортировать org.joda.time.Days; импортировать org.joda.time.LocalDate; (...) int numberDays = Days.daysBetween (новая LocalDate (дата1), new LocalDate (дата2))   -  person plancys    schedule 16.12.2014


Ответы (1)


Рекомендуется использовать API JodaTime для дат:

import java.util.logging.Logger;

import org.joda.time.DateTime;
import org.joda.time.Duration;
import org.joda.time.Interval;

public class DatesInterval {
    private final static Logger log = Logger.getLogger(DatesInterval.class.getName());
    public static void main(String[] args) {
        //creates a date 10 days ago in JodaTime
        DateTime daysAgo10 = new DateTime().minusDays(10);
        //today
        DateTime today = new DateTime();

        //create an interval in Joda
        Interval interval = new Interval(daysAgo10.getMillis(), today.getMillis());
        //than get the duration
        Duration duration = interval.toDuration();

        //now you can get what you want. As you can imagine you can get days, millis, whateaver you need. 
        log.info("Difference in days: " + duration.getStandardDays());
    }
}

http://joda-time.sourceforge.net/

С Уважением.

person groo    schedule 21.03.2013
comment
Я уверен, что на этот вопрос был ответ, который можно скопировать, но если на вопрос был подробно дан ответ где-то еще, отметьте его как дубликат и свяжите правильный. В другом случае ответы, содержащие только ссылку, считаются слишком плохими: добавьте хотя бы немного контекста к своей ссылке. - person ffflabs; 07.10.2014
comment
@аменадиэль - хорошо, аменадиэль, понял. исправит это и сделает это в следующий раз. Спасибо. - person groo; 07.10.2014