【发布时间】:2020-09-28 15:43:55
【问题描述】:
这是我的代码。此方法仅适用于 1(当年)。当周数大于 53 时,日期从当年第一周的日期开始,而不是下一个周的日期。 一年有 52 或 53 周,所以当周是最后一周(52 或 53)时,我有 2020-12-28 - 2021-01-03,但是当我想要明年的第一周时(2021-01-04 - 2021-01- 10)它从 2020 年(2019-12-30 - 2020-01-05)开始的第一周输出给我。
public void showPreviousNextWeekDays(DataBaseHelper dataBaseHelper, long weekChange) {
if (weekChange >= 0) {
LocalDate ld = LocalDate.now().plusWeeks(weekChange);
final long weekNumber = ld.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR); //takes week from current date
LocalDate firstDayOfWeek = ld.ofYearDay(ld.getYear(), (int)weekNumber)
.with(IsoFields.WEEK_OF_WEEK_BASED_YEAR, weekNumber)
.with(DayOfWeek.MONDAY);
LocalDate lastDayOfWeek = ld.ofYearDay(ld.getYear(), (int)weekNumber)
.with(IsoFields.WEEK_OF_WEEK_BASED_YEAR, weekNumber)
.with(DayOfWeek.SUNDAY);
String firstAndLastDayOfWeek = firstDayOfWeek.toString() + " - " + lastDayOfWeek.toString();
daysArrayAdapter = new ArrayAdapter<DayModel>(getActivity(), android.R.layout.simple_list_item_1, db.NextWeek(weekChange));
daysList.setAdapter(daysArrayAdapter);
我怎样才能通过增加周数来增加数年?
【问题讨论】:
-
@OleV.V.谢谢,我已经添加了所有信息。我认为问题在于我用于 firstDayOfWeek 和 LastDayOfWeek 的方法
标签: java android android-studio localdate