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

时间:2019-05-01 05:34:14

标签: android kotlin

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

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

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

4 个答案:

答案 0 :(得分:1)

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中有效,您可以根据需要更改SimpleDataFormat的格式。

答案 1 :(得分:1)

从(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

答案 2 :(得分:0)

这是我在Java中使用的方式。您只需将其更改为Kotlin。

SimpleDateFormat格式化程序= new SimpleDateFormat(“ dd / MM / yyyy”);

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

答案 3 :(得分:0)

只需将毫秒数传递给日期构造器Date(timeinMillis),它将返回日期。