【发布时间】:2022-01-08 17:46:27
【问题描述】:
如何从设备中获取当前时间?我可能需要 kotlin 语言的方法。
【问题讨论】:
-
尝试使用上面链接的答案并粘贴到 Kotlin 文件中,android studio 会自己为您转换 Kotlin 中的代码
如何从设备中获取当前时间?我可能需要 kotlin 语言的方法。
【问题讨论】:
这是打发时间的简单方法!
val c = Calendar.getInstance()
val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)
val hour = c.get(Calendar.HOUR_OF_DAY)
val minute = c.get(Calendar.MINUTE)
【讨论】:
试试这个...
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
例如)2021-12-02 17:17:03
LocalDateTime.now() 需要 API 级别 26。
所以,如果 API 级别 26 以下,
你在你的方法上方添加@RequiresApi(Build.VERSION_CODES.0)这段代码。
【讨论】:
不要使用旧的日历 API,它是 outdated and troublesome。
使用LocalDateTime获取系统日期和时间
private fun getCurrentDate() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val dateTime = LocalDateTime.now() // date time object
val month = dateTime.month // result DECEMBER
val date = dateTime.dayOfMonth // result 2 (current date )
val formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
Log.d(
"Date:", parssed date ${dateTime.format(formatter)}"
)
}
}
将 FormatStyle 更改为 MEDIUM,SHORT,LONG,FULL 以相应地更改日期格式,或者您可以使用自定义日期解析器格式。
产出:2021 年 12 月 2 日
注意:DateTimeFormatter只适用于android 8及以上,在android 8以下使用enable desugaring
【讨论】: