Несмотря на то, что стандартный класс Java Calendar
не особенно хорош, он должен быть достаточным для решения вашей первой проблемы.Вы можете установить время экземпляра Календаря с помощью объекта Date, а затем получить доступ к полю DAY_OF_WEEK.Примерно так:
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
Что касается второй проблемы, все зависит от того, как вы хотите, чтобы разница была измерена.Если вы просто хотите получить разницу в миллисекундах, вы можете просто вызвать метод getTime()
для каждого из ваших экземпляров Date и вычесть одно из другого.Если вы хотите указать его в секундах, минутах, часах, днях и т. Д., Вы можете просто выполнить простую арифметику, используя это значение.