在 API 级别 26 的 kotlin android 工作室中查找当前月份、上个月和下个月
Find current month , previous month and next month in kotlin android studio in API level 26
任何获取当前月份、前 5 个月和后 5 个月的方法也适用于 android 6。我使用的是 LocalDate Class,它在 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 下获取上个月、当前月和下个月的任何其他方法。
如果有任何解决方案,请评论您的答案..
我找到了这个答案,它在 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
任何获取当前月份、前 5 个月和后 5 个月的方法也适用于 android 6。我使用的是 LocalDate Class,它在 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 下获取上个月、当前月和下个月的任何其他方法。
如果有任何解决方案,请评论您的答案..
我找到了这个答案,它在 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