首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用kotlinx-datetime KMM获取当前一周的天数

使用kotlinx-datetime KMM获取当前一周的天数
EN

Stack Overflow用户
提问于 2022-03-08 12:10:32
回答 1查看 965关注 0票数 1

如何使用kotlinx.datetime KMM库获取当前一周的日期?

例如:我想要一份本周约会的清单,比如:

(“07星期一”、“08星期二”、“09星期三”、.)

这是一个类似的使用日历的影响

代码语言:javascript
运行
复制
fun getDaysOfWeek(): Array<String?> {
        val dateFormat = SimpleDateFormat("EEEEE\ndd", Locale.getDefault())
        val calendar = Calendar.getInstance()
        calendar.firstDayOfWeek = Calendar.MONDAY
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)

        val days = arrayOfNulls<String>(7)
        for (i in 0..6) {
            days[i] = dateFormat.format(calendar.time)
            calendar.add(Calendar.DAY_OF_MONTH, 1)
        }

        return days
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 13:39:30

代码语言:javascript
运行
复制
val today = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date
val days = mutableListOf<LocalDate>()
val firstWeekDay = today.daysShift(-DayOfWeek.values().indexOf(today.dayOfWeek))
for (i in 0 until DayOfWeek.values().count()) {
    days.add(firstWeekDay.daysShift(i))
}
val dayStrings = days.map { "${it.dayOfWeek}, ${it.dayOfMonth}" }
println("$dayStrings")
代码语言:javascript
运行
复制
fun LocalDate.daysShift(days: Int): LocalDate = when {
    days < 0 -> {
        minus(DateTimeUnit.DayBased(-days))
    }
    days > 0 -> {
        plus(DateTimeUnit.DayBased(days))
    }
    else -> this
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71394828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档