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

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

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

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

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中使用,您可以根据需要更改SimpleDateFormat中的格式。

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
0
投票

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

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

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

0
投票

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