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)
eph*_*ent 19
java.util.Calendar.getInstance() 表示使用当前区域设置和时区的当前时间.
您也可以选择导入并使用Joda-Time或其中一个Android分支.
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)
尝试这个:
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。
要在 Kotlin 中获取当前日期,请执行以下操作:
val dateNow = Calendar.getInstance().time
Run Code Online (Sandbox Code Playgroud)
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)
有以上选项,输出添加为注释。
您可以从日历实例中获取当前的年、月、日等
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)
你可以使用这个功能
fun getCurrentDate():String{
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS")
return sdf.format(Date())
}
Run Code Online (Sandbox Code Playgroud)