我有以下代码来获取日期差。但是,由于我是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()
}