У меня есть текущая неделя с понедельника. Теперь я хотел бы найти дату предыдущей недели в понедельник, если я нажму на предыдущий и следующий понедельник, если я нажму дальше на java. Я ищу способ добавить семь дней к моей дате.Дата начала предыдущей и следующей недели понедельника с определенной даты
-2
A
ответ
3
Вы можете использовать календарь класс для этого: Вот пример
String dt = "2015-04-13"; // Current monday date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
if(next){
c.add(Calendar.DATE, 7); // for next Monday
}else{
c.add(Calendar.DATE, -7); // for previous Monday
}
dt = sdf.format(c.getTime()); // dt is now the new date
0
Calendar calendar = Calendar.getInstance();
calendar.set(2015, Calendar.April, 15);//Given date
System.out.printf("Starting day ", calendar);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DATE, 7);//for next
calendar.add(Calendar.DATE, -7);//for previous
0
Это должно дать вам результат вы хотите.
public static void main(String[] args)
{
String date = "2015-04-13"; // Current Monday date.
System.out.println(process(date, "next"));
System.out.println(process(date, "PREVIOUS"));
System.out.println(process(date, "next"));
}
private static String process(String date, String operation)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance(); //create new calendar instance
calendar.clear(); //clear the current information on the calendar instance
calendar.setLenient(false);
try {
calendar.setTime(sdf.parse(date)); //parse current Monday date and set as calendar date/time
} catch (ParseException e) {
e.printStackTrace();
}
if("NEXT".equalsIgnoreCase(operation)) {
calendar.add(Calendar.DATE, 7); // for next Monday
}
if("PREVIOUS".equalsIgnoreCase(operation)) {
calendar.add(Calendar.DATE, -7); // for previous Monday
}
return sdf.format(calendar.getTime()); //format the calendar date/time
}
Смежные вопросы
- 1. Получение понедельника и пятницы следующей недели
- 2. Поиск начала недели и даты окончания недели
- 3. получение даты понедельника и пятницы со следующей недели
- 4. Informatica - Дата получения понедельника недели
- 5. Начало и конечная дата начала каждой недели в год динамически
- 6. Поиск предыдущей и следующей даты
- 7. Получение следующей даты недели
- 8. Дата понедельника данной недели, независимо от NLS
- 9. Как найти дату начала недели с определенной даты?
- 10. рассчитать номер недели с даты начала
- 11. Дата начала и окончания даты начала работы
- 12. Дата наступления даты начала и окончания даты
- 13. PHP - Fetch первого дата последней недели, если дата начала конца падает в середине недели
- 14. Неделя Дата начала с даты MS Access
- 15. Calender: Показать даты до следующей недели с текущей недели
- 16. PHP получает номер недели ISO для даты, день начала которой отличается от понедельника
- 17. Прохождение следующей и предыдущей даты с помощью jquery
- 18. Дата Рассчитать с понедельника, как DAYOFWEEK = 1
- 19. Capture Дата понедельника
- 20. Найти Дата начала/Дата окончания недели этого года/LAST
- 21. Получить дату первого понедельника недели?
- 22. Изменить начало недели понедельника
- 23. Как получить дату понедельника следующей недели в Typoscript?
- 24. Начало и окончание Дата последней недели [MySQL]
- 25. Дата, месяц и год с определенной даты
- 26. Расчет недели указанной даты
- 27. Поиск следующей и предыдущей даты для введенной даты
- 28. найти День недели определенной даты
- 29. BASH: печать следующего понедельника даты
- 30. Получить недели начала и даты окончания от года и календарной недели с JavaScript
Вы не разместили свой код, поэтому ответ является общим. Почему вы не можете просто вычесть или добавить в текущий понедельник 7 дней (1 неделю)? В каком формате вы сохраняете дату? – VadymVL
Я могу сделать это, но его просто не 1 предыдущий или следующий ... я хочу пойти несколько предыдущих и несколько потом? –
Если вы хотите продолжить, вы можете просто увеличить счетчик смены дней на '7'. Если он равен «0» - это означает «без сдвига», то есть текущий понедельник. Если это '-7' - в понедельник, если« -14 »- два понедельника раньше. – VadymVL