Har*_*ris 6 java datetime android kotlin
首先:我找到了很多解决方案,但没有一个能够解决我的问题。
问题:我想将yyyy-MM-dd格式的字符串日期转换为实际日期,我可以使用我创建的以下方法来完成此操作,但问题是它仅与 API 级别 26 及更高版本兼容,而我的最低支持级别为 19。
//string to date convert
@RequiresApi(Build.VERSION_CODES.O)
fun convertStringDate(dateString: String): LocalDate {
val format = DateTimeFormatter.ISO_DATE
val tmpDate = LocalDate.parse("2019-12-10", format)
var parsedDate: LocalDate = tmpDate
try {
parsedDate = LocalDate.parse(dateString, format)
} catch (e: Exception) {
e.printStackTrace()
}
return parsedDate
}
Run Code Online (Sandbox Code Playgroud)
问题:如何将 yyyy-MM-dd 格式的字符串转换为实际日期,以便与 API 级别 19 及更高版本兼容?
找到答案:在模块级 build.gradle 文件中添加 desugring 作为
implementation coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5")
Run Code Online (Sandbox Code Playgroud)
并且还启用
coreLibraryDesugaringEnabled true
Run Code Online (Sandbox Code Playgroud)
在同一文件的编译器选项中
小智 3
您可以开始使用脱糖,这样您就可以在较低的最小 api 中使用 java 8 方法,您不仅可以获得 LocalDate,还可以获得很多其他东西。 https://developer.android.com/studio/write/java8-support#library-desugaring
| 归档时间: |
|
| 查看次数: |
5664 次 |
| 最近记录: |