我如何在 android studio 中使用 kotlin 获取星期几?

how do i get the days of the week using kotlin in android studio?

我正在尝试获取日期以将该数字放入 textView。例如,我们知道今天是 26 号,星期三,知道这个信息后,我想把这个数字“26”放在一个 textView 中,该 textView 将显示在一个有周历的屏幕中。所以我试着帮助创建一个逻辑,告诉我如果是星期三,它 return 是一周中的当前日期 (26),如果我告诉星期四,它 return 是我 (27) 等等整个星期。谢谢。 ;)

val diaDaSemana: DayOfWeek
    diaDaSemana.get(DayOfWeek.THURSDAY)
    binding.txtNumeroQuarta = diaDaSemana.toString()

我正在尝试通过这种方式度过一天。

日历图像:

基本上我只想要周数通知,比如我通知你今天是星期三,那么你必须在26号return我,这样我才能把它放在textView中。

val day = Calendar.DAY_OF_MONTH.toString()
binding.txtNumeroTerca.text = day

因为add()方法returns什么都没有。如果你想得到一个月中的第几天,试试这样的方法:

val calendar: Calendar = Calendar.getInstance()

calendar.add(Calendar.DAY_OF_MONTH, Calendar.TUESDAY)
val day= calendar.get(Calendar.DAY_OF_MONTH)

binding.txtNumeroTerca.text = day.toString()

而且我建议在 add() 方法中使用数字而不是工作日代码。

您可以使用 LocalDate 来做到这一点。从给定的日期(我在示例代码中默认将其设置为今天),通过使用 TemporalAdjusters.previousOrSame 获取最近的星期日来查找一周的第一天。然后使用另一个 TemporalAdjuster 获取下一次输入的星期几。

fun DayOfWeek.dayOfMonth(dateInWeek: LocalDate = LocalDate.now()): Int {
    val firstDateOfWeek = dateInWeek.with(TemporalAdjusters.previousOrSame(DayOfWeek.SUNDAY))
    val dateOfDayOfWeek = firstDateOfWeek.with(TemporalAdjusters.nextOrSame(this))
    return dateOfDayOfWeek.dayOfMonth
}

// ...

binding.txtNumeroQuarta = DayOfWeek.THURSDAY.dayOfMonth().toString()