如何在Kotlin中获取TimeStamp的当前时间?

时间:2018-04-16 16:44:57

标签: time kotlin timestamp

这是我需要的时间戳格式:2018-03-22 19:02:12.337909

5 个答案:

答案 0 :(得分:10)

Kotlin没有任何时间处理它自己的类,所以你只使用Java的java.time。对于ISO-8601时间戳(这是首选格式):

DateTimeFormatter.ISO_INSTANT.format(Instant.now())

那将返回2018-04-16T17:00:08.746Z。对于您的格式,或者如果您需要不同的时区,您可以指定:

DateTimeFormatter
    .ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS")
    .withZone(ZoneOffset.UTC)
    .format(Instant.now())

有关如何指定格式字符串的详细信息,请参阅ThreeTen-Backport

java.time 类与Android 26及更高版本以及Java 8及更高版本捆绑在一起。大多数 java.time 功能都被反向移植到Java 6& ThreeTenABP项目中的Java 7。进一步适应How to use ThreeTenABP…中早期的Android(< 26)。见purchase

答案 1 :(得分:6)

尝试Timestamp(System.currentTimeMillis())我使用API​​ 19,它适用于我

答案 2 :(得分:0)

我正在使用这个

val timeStamp: String = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())

,这里有所有的日期和时间模式 https://developer.android.com/reference/java/text/SimpleDateFormat

答案 3 :(得分:0)

package com.mkyong.date
import java.sql.Timestamp
import java.text.SimpleDateFormat
import java.util.Date
object TimeStampExample {
    private val sdf = SimpleDateFormat("yyyy.MM.dd.HH.mm.ss")
    @JvmStatic fun main(args:Array<String>) {
        //method 1
        val timestamp = Timestamp(System.currentTimeMillis())
        println(timestamp)
        //method 2 - via Date
        val date = Date()
        println(Timestamp(date.getTime()))
        //return number of milliseconds since January 1, 1970, 00:00:00 GMT
        println(timestamp.getTime())
        //format timestamp
        println(sdf.format(timestamp))
    }
}

答案 4 :(得分:-1)

  val currentTimestamp = System.currentTimeMillis()