Как написать метод, который использует множество методов набора Календаря в компактном виде - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть следующий код, чтобы получить разницу в дате.Однако, так как я новичок в kotlin, я не знаю другого способа написать следующий код в уменьшенном / компактном виде ... Есть ли способ сделать этот большой код маленьким?Некоторый пример кода или подсказка будут прекрасны!Я хотел бы услышать от вас!

   fun getDiffWeek(year1: Int, month1: Int): Int {
        return getDiffWeek(year1, month1, 1)
    }

    fun getDiffWeek(year1: Int, month1: Int, day1: Int): Int {
        val calendar = GregorianCalendar.getInstance() as GregorianCalendar
        calendar.set(Calendar.YEAR, year1)
        calendar.set(Calendar.MONTH, month1 - 1)
        calendar.set(Calendar.DAY_OF_MONTH, day1)
        calendar.set(Calendar.HOUR_OF_DAY, 0)
        calendar.set(Calendar.MINUTE, 0)
        calendar.set(Calendar.SECOND, 0)
        calendar.set(Calendar.MILLISECOND, 0)

        val currCalendar = GregorianCalendar.getInstance() as GregorianCalendar
        currCalendar.timeInMillis = System.currentTimeMillis()
        currCalendar.set(Calendar.HOUR_OF_DAY, 0)
        currCalendar.set(Calendar.MINUTE, 0)
        currCalendar.set(Calendar.SECOND, 0)
        currCalendar.set(Calendar.MILLISECOND, 0)

        val diffTime = calendar.timeInMillis - currCalendar.timeInMillis
        return if (diffTime < 0) {
            -1
        } else Math.ceil(diffTime / ONE_WEEK.toDouble()).toInt()

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...