如何获得Kotlin当前的当地日期和时间

时间:2017-10-29 23:18:17

标签: android datetime kotlin

如何在Kotlin当地时间获取当前日期(日月和年)和时间(小时,分钟和秒)?

我尝试了LocalDateTime.now()但是它给了我一个错误Call requires API Level 26 (curr min is 21)

我怎么能在Kotlin得到时间和日期?

10 个答案:

答案 0 :(得分:19)

试试这个:

 val sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss")
 val currentDate = sdf.format(Date())
 System.out.println(" C DATE is  "+currentDate)

答案 1 :(得分:11)

java.util.Calendar.getInstance()表示使用当前区域设置和时区的当前时间。

您也可以选择导入并使用Joda-Time或其中一个forks for Android

答案 2 :(得分:5)

当我们的minSdkVersion <26时,我的utils方法使用Calendar获取当前日期时间。

fun Date.toString(format: String, locale: Locale = Locale.getDefault()): String {
    val formatter = SimpleDateFormat(format, locale)
    return formatter.format(this)
}

fun getCurrentDateTime(): Date {
    return Calendar.getInstance().time
}

使用

import ...getCurrentDateTime
import ...toString
...
...
val date = getCurrentDateTime()
val dateInString = date.toString("yyyy/MM/dd HH:mm:ss")

答案 3 :(得分:4)

您可以从日历实例中获取当前的年,月,日等

val c = Calendar.getInstance()

val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)

val hour = c.get(Calendar.HOUR_OF_DAY)
val minute = c.get(Calendar.MINUTE)

如果需要将其作为LocalDateTime,只需使用上面获得的参数进行创建

val myLdt = LocalDateTime.of(year, month, day, ... )

答案 4 :(得分:1)

尝试一下:

try_recurse_delete( pipeline_name )
    do_delete(pipeline_name)
    if not $error[0].contains("referenced by " + pipeline_name)
        then return true
    else
        try_recurse_delete( get_refrencer_name($error[0]) )

答案 5 :(得分:1)

您可以使用此功能

fun getCurrentDate():String{
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS")
return sdf.format(Date())
}

答案 6 :(得分:0)

查看这些易于使用的Kotlin扩展名的日期格式

fun String.getStringDate(initialFormat: String, requiredFormat: String, locale: Locale = Locale.getDefault()): String {
    return this.toDate(initialFormat, locale).toString(requiredFormat, locale)
}

fun String.toDate(format: String, locale: Locale = Locale.getDefault()): Date = SimpleDateFormat(format, locale).parse(this)

fun Date.toString(format: String, locale: Locale = Locale.getDefault()): String {
    val formatter = SimpleDateFormat(format, locale)
    return formatter.format(this)
}

答案 7 :(得分:0)

要获取Kotlin中的当前日期,请执行以下操作:

val dateNow = Calendar.getInstance().time

答案 8 :(得分:-1)

我每20秒使用一次从API中获取数据

 private fun isFetchNeeded(savedAt: Long): Boolean {
        return savedAt + 20000 < System.currentTimeMillis()
    }

答案 9 :(得分:-1)

另一种解决方案是在build.gradle中更改项目的api级别,这将起作用。