如何在Android上的Kotlin中从Long类型变量中提取日期和时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android上的Kotlin中从Long类型变量中提取日期和时间相关的知识,希望对你有一定的参考价值。

我正在使用USGS网站上的API。

"properties": {
    "mag": 3.2,
    "place": "Puerto Rico region",
    "time": 1164925597950,
    "updated": 1415323859614,
    "tz": null
}

时间以毫秒为单位。我想从这些毫秒中提取日期和时间。我怎么能在Kotlin做到这一点?

答案
import java.text.SimpleDateFormat
import java.util.Date

fun convertLongToTime (time: Long): String {
    val date = Date(time)
    val format = SimpleDateFormat("dd/M/yyyy hh:mm:ss")
    return format.format(date)
}

这可以在Kotlin中使用,您可以根据需要更改SimpleDateFormat中的格式。

另一答案

从(android)上的API级别26或者如果JVM是您的目标,您可以使用Java 8 Date API:

val date = Instant
        .ofEpochMilli(1164925597950)
        .atZone(ZoneId.systemDefault()) // change time zone if necessary
        .toLocalDateTime()

val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")
println(formatter.format(date)) // 2006-11-30 23:26

API级别26以下:

val date = Date(1164925597950)

val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm")
println(formatter.format(date)) // 2006-11-30 23:26
另一答案

这是我在Java中使用的方式。你只需改变它为kotlin。

SimpleDateFormat formatter = new SimpleDateFormat(“dd / MM / yyyy”);

String dateString = formatter.format(new Date(dateInMillis)));

另一答案

只需将您的毫秒传递给Date Constructor Date(timeinMillis)它将返回日期。

以上是关于如何在Android上的Kotlin中从Long类型变量中提取日期和时间的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android上的Kotlin类中使用上下文

在 Android Studio Kotlin 中从 SQLite 数据库中删除数据

Kotlin 中的 Parcelize 值(内联)类

如何在kotlin中从一个片段转到另一个片段?

Kotlin 上的 Android:如何将数据从 Activity 传递到事件监听器?

Android 上的 Kotlin:如何在片段中使用数据库中的 LiveData?