獲取當前月份、上個月 5 個月和下個月 5 個月的任何方法,這也適用于android 6。我正在使用 LocalDate 類,它完美適用于 Android 8 API 級別 26 以上。
@RequiresApi(Build.VERSION_CODES.O)
@SuppressLint("SimpleDateFormat")
fun getCalculatedMonth(date: String, month: Int): String? {
val ld = LocalDate.parse(date)
val currentMonth = ld.minusMonths(month.toLong())
Timber.tag("currentMonth").d(currentMonth.toString())
var dateFormat = SimpleDateFormat("yyyy-MM-dd")
val newDate = dateFormat.parse(currentMonth.toString())
dateFormat = SimpleDateFormat("yyyy-MM")
return dateFormat.format(newDate!!)
}
viewModel.selectedMonth.value = getCalculatedMonth("2022-05-17" , month_value)
這里 month_value 是 -> 0 代表當前月份 1 代表下個月 -1 代表上個月
但問題是它只支持 android 8 以上版本。在 API 級別 26 下獲取上個月、當前和下個月的任何其他方法。
如果有任何解決方案,請評論您的答案..
uj5u.com熱心網友回復:
我找到了這個答案,它在 android 版本 8 下也很完美
使用此方法
@SuppressLint("SimpleDateFormat")
fun getCalculatedMonths( month: Int): String? {
val c: Calendar = GregorianCalendar()
c.add(Calendar.MONTH, -month)
val sdfr = SimpleDateFormat("yyyy-MM")
return sdfr.format(c.time).toString()
}
在這里我得到這樣的結果:-
- getCalculatedMonths(0) -> 2022-05
- getCalculatedMonths(1) -> 2022-04
- getCalculatedMonths(-1) -> 2022-06
- getCalculatedMonths(2) -> 2022-03
- getCalculatedMonths(-2) -> 2022-07
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/481381.html
