26

The Code A can convert a long value to date value, just like 2018.01.10

  1. I hope to get Date + Time value , such as 2018.01.10 23:11, how can I do with Kotlin?

  2. I hope to convert current time to a long value , how can I do with Kotlin?

Thanks!

Code A

fun Long.toDateString(dateFormat: Int =  DateFormat.MEDIUM): String {
    val df = DateFormat.getDateInstance(dateFormat, Locale.getDefault())
    return df.format(this)
}
HelloCW
  • 306
  • 16
  • 96
  • 224

2 Answers2

59

Try this, I use SimpleDataFormat.

fun convertLongToTime(time: Long): String {
    val date = Date(time)
    val format = SimpleDateFormat("yyyy.MM.dd HH:mm")
    return format.format(date)
}

fun currentTimeToLong(): Long {
    return System.currentTimeMillis()
}

fun convertDateToLong(date: String): Long {
    val df = SimpleDateFormat("yyyy.MM.dd HH:mm")
    return df.parse(date).time
}

And to convert java file to kotlin file with Android Studio, choosing Code->Convert java file to kotlin file.

Tung Tran
  • 2,615
  • 2
  • 15
  • 23
4

No need for anything complex:

Get current time and date as a Date object

val dateTime: Date = Calendar.getInstance().time

Convert it to a Long

val dateTimeAsLong: Long = dateTime.time

Convert that Long back to a Date

val backToDate: Date = Date(dateTimeAsLong)
David
  • 966
  • 1
  • 13
  • 30