kotlin获取当前时间
时间: 2023-11-08 11:06:04 浏览: 60
在 Kotlin 中获取当前时间可以使用 `LocalDateTime.now()` 方法,示例代码如下:
```kotlin
import java.time.LocalDateTime
fun main() {
val currentDateTime = LocalDateTime.now()
println("Current Date and Time: $currentDateTime")
}
```
输出结果类似于:`Current Date and Time: 2021-10-20T16:30:45.123456`
相关问题
kotlin 获取当前时间
以下是使用Kotlin获取当前时间的示例代码[^2]:
```kotlin
// DateUtil.kt
object DateUtil {
val nowDateTime: String
get() = java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(java.util.Date())
val nowDate: String
get() = java.text.SimpleDateFormat("yyyy-MM-dd").format(java.util.Date())
val nowTime: String
get() = java.text.SimpleDateFormat("HH:mm:ss").format(java.util.Date())
val nowTimeDetail: String
get() = java.text.SimpleDateFormat("HH:mm:ss.SSS").format(java.util.Date())
fun getFormatTime(format: String): String {
return java.text.SimpleDateFormat(format).format(java.util.Date())
}
}
// 调用单例对象的代码
btn_object_date.setOnClickListener {
tv_function_result.text = "单例对象:" + when (count++%5) {
0 -> "当前日期时间为${DateUtil.nowDateTime}"
1 -> "当前日期为${DateUtil.nowDate}"
2 -> "当前时间为${DateUtil.nowTime}"
3 -> "当前毫秒时间为${DateUtil.nowTimeDetail}"
else -> "当前中文日期时间为${DateUtil.getFormatTime("yyyy年MM月dd日HH时mm分ss秒")}"
}
}
```
这段代码定义了一个名为`DateUtil`的单例对象,其中包含了获取当前日期时间、日期、时间、毫秒时间以及自定义格式时间的方法。通过调用`DateUtil`对象的相应方法,可以获取到当前时间的不同格式。
kotlin 获取系统时间
在Kotlin中获取系统当前时间可以使用System.currentTimeMillis()方法,该方法返回距离1970年1月1日午夜经历的毫秒数。为了实现实时更新时间,需要开启一个线程并通过Handler来实现,具体代码如下所示:[^1]
```kotlin
class MainActivity : AppCompatActivity() {
private lateinit var timeTextView: TextView
private lateinit var handler: Handler
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
timeTextView = findViewById(R.id.time_text_view)
handler = Handler()
// 开启线程更新时间并通过Handler更新UI
Thread {
while (true) {
val currentTimeMillis = System.currentTimeMillis()
handler.post {
timeTextView.text = SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(currentTimeMillis)
}
Thread.sleep(1000)
}
}.start()
}
}
```
除了使用System.currentTimeMillis()方法,还可以使用KronosClock.getCurrentTimeMs()方法来获取准确的时间以及NTP时间和系统正常运行时间之间的差异。由于正常运行时间单调增加,因此Kronos不受设备时间更改的影响。具体实现方式请查看引用。