0

How can I get the current time from device? I need possibly ways in kotlin language.

Zerok
  • 31
  • 1
  • 4
  • try with above linked answer and paste in Kotlin file, android studio will itself convert the code in Kotlin for you – Astha Garg Dec 02 '21 at 08:15

3 Answers3

5

Here simple way to get the time!

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)
Partha
  • 453
  • 4
  • 11
4

try this...

LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))

ex) 2021-12-02 17:17:03


LocalDateTime.now() require API level 26. so, if API level 26 below, you add @RequiresApi(Build.VERSION_CODES.0) this code above your method.

a_local_nobody
  • 7,947
  • 5
  • 29
  • 51
bdeviOS
  • 449
  • 1
  • 6
0

Don't use old Calendar apis, it's outdated and troublesome.

Use LocalDateTime to get the system date and time

private fun getCurrentDate() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        val dateTime = LocalDateTime.now()      // date time object
        val month = dateTime.month              // result DECEMBER
        val date = dateTime.dayOfMonth          // result 2 (current date )
        val formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
        Log.d(
            "Date:", parssed date ${dateTime.format(formatter)}"
        )
    }
}

Change FormatStyle to MEDIUM,SHORT,LONG,FULL to change date format accordingly or you can use custom date parser format.

Output: Dec 2, 2021

Note: DateTimeFormatter only works in android 8 and above, to use it below android 8 enable desugaring

Nitish
  • 3,075
  • 3
  • 13
  • 28