【发布时间】:2020-10-01 01:34:34
【问题描述】:
我想获取给定周数的开始日期和结束日期。我尝试了以下代码,但它总是返回相同的日期(当前星期)
val c: Calendar = Calendar.getInstance()
val week = 39
c.set(Calendar.WEEK_OF_YEAR, week)
val firstDayOfWeek = c.firstDayOfWeek
c.set(Calendar.DAY_OF_WEEK,firstDayOfWeek)
startDate = SimpleDateFormat("yyyy-MM-dd",Locale.getDefault()).format(c.time).toString()
c.set(Calendar.DAY_OF_WEEK, firstDayOfWeek+6)
endDate = SimpleDateFormat("yyyy-MM-dd",Locale.getDefault()).format(c.time).toString()
【问题讨论】:
-
我需要完整的日期。我试过用
c.set(Calendar.DAY_OF_YEAR),但还是不行 -
您不能只将 6 添加到星期几 - 它是从 1 到 7(星期一到星期日)的枚举 - 例如,如果一周的第一天是星期二,并且你加 7,你得到 9,这不是 DAY_OF_WEEK 的有效值。看看 DayOfWeek.plus()
-
@GreyBeardedGeek 我会更新它,但你知道它只给出当前星期日期的原因
-
如果我更改
week的值,您的代码对我来说可以正常工作(第 39 周对我来说是上周,使用默认区域设置)