Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中使用Kotlin以周日格式开始一周_Android_Date_Datetime_Kotlin - Fatal编程技术网

在android中使用Kotlin以周日格式开始一周

在android中使用Kotlin以周日格式开始一周,android,date,datetime,kotlin,Android,Date,Datetime,Kotlin,我在日历日期上工作,我从下面的方法中得出每周7天的值。但我只需要从周日开始一周的工作 fun getWeekDay(): Array<String?>? { weekDaysCount-- val now1 = Calendar.getInstance() now1.set(2021, 1, 29) val now = now1.clone() as Calendar val format = Simp

我在日历日期上工作,我从下面的方法中得出每周7天的值。但我只需要从周日开始一周的工作

fun getWeekDay(): Array<String?>? {
        weekDaysCount--
        val now1 = Calendar.getInstance()
        now1.set(2021, 1, 29)
        val now = now1.clone() as Calendar

        val format = SimpleDateFormat("yyyy-MM-dd")
        val days = arrayOfNulls<String>(7)
        val delta = -now[GregorianCalendar.DAY_OF_WEEK] + 1
        now.add(Calendar.WEEK_OF_YEAR, weekDaysCount)
        now.add(Calendar.DAY_OF_MONTH, delta)
        for (i in 0..6) {
            days[i] = format.format(now.time)
            now.add(Calendar.DAY_OF_MONTH, 1)
        }

        return days
    }

使用Java8的日期/时间库(
Java.time
)而不是
Calendar
,您想要实现的目标要容易得多

import java.time.DayOfWeek
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalAdjusters

fun getWeekDay(): Array<String?> {
    var date = LocalDate.of(2021, 1, 29)
    date = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.SUNDAY))

    val formatter = DateTimeFormatter.ofPattern("dd (EEE)")

    val days = arrayOfNulls<String>(7)
    for (i in 0 until 7) {
        days[i] = formatter.format(date)
        date = date.plusDays(1)
    }

    return days
}
以下是编译选项:

android {
    ...
    compileOptions {
        coreLibraryDesugaringEnabled true
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
    ...
现在,您将能够使用许多Java8特性和库

coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
android {
    ...
    compileOptions {
        coreLibraryDesugaringEnabled true
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
    ...