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

rgo*_*alv 36 datetime android kotlin

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

我试过了,LocalDateTime.now()但它给了我一个错误的说法Call requires API Level 26 (curr min is 21).

我怎么能在Kotlin得到时间和约会?

小智 32

试试这个 :

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

  • 这里是新学习者。“日期”的替代品是什么? (5认同)
  • 日期已过时,并且已经逐步淘汰。我不同意推荐给新学习者。 (3认同)

eph*_*ent 19

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

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

  • 举个例子就好了。 (33认同)

Pha*_*inh 13

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

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
}
Run Code Online (Sandbox Code Playgroud)

使用

import ...getCurrentDateTime
import ...toString
...
...
val date = getCurrentDateTime()
val dateInString = date.toString("yyyy/MM/dd HH:mm:ss")
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案:简单干净,我将其实现为包级函数(在包级函数上:/sf/ask/2714521771/)从任何地方到达它 (3认同)

Naw*_*sta 8

尝试这个:

val date = Calendar.getInstance().time
val formatter = SimpleDateFormat.getDateTimeInstance() //or use getDateInstance()
val formatedDate = formatter.format(date)
Run Code Online (Sandbox Code Playgroud)

您也可以使用自己的模式,例如

val sdf = SimpleDateFormat("yyyy.MM.dd")
// 2020.02.02
Run Code Online (Sandbox Code Playgroud)

要获取本地格式,请使用getDateInstance()getDateTimeInstance()、 或getTimeInstance(),或使用 new SimpleDateFormat(String template, Locale locale),例如 Locale.US 用于 ASCII 日期。前三个选项需要 API 级别 29。


Joo*_*lah 7

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

val dateNow = Calendar.getInstance().time
Run Code Online (Sandbox Code Playgroud)


Aka*_*rma 7

fun main(){
println(LocalDateTime.now().toString()) //2021-10-25T12:03:04.524
println(Calendar.getInstance().time) //Mon Oct 25 12:02:23 GST 2021
}
Run Code Online (Sandbox Code Playgroud)

有以上选项,输出添加为注释。


J7b*_*its 6

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

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)
Run Code Online (Sandbox Code Playgroud)

如果您需要它作为 LocalDateTime,只需使用上面获得的参数创建它

val myLdt = LocalDateTime.of(year, month, day, ... )
Run Code Online (Sandbox Code Playgroud)


pav*_*vel 6

你可以使用这个功能

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