这是我需要的时间戳格式:2018-03-22 19:02:12.337909
答案 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()