我如何将较长的价值转换为迄今为止,并将当前时间转换为长kotlin



代码a可以将较长的值转换为日期值,就像2018.01.10

一样
  1. 我希望获得日期 时间值,例如2018.01.10 23:11,我该如何处理Kotlin?

  2. 我希望将当前时间转换为长时间的价值,我该如何处理Kotlin?

谢谢!

代码

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

尝试一下,我使用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
}

并使用Android Studio将Java文件转换为Kotlin文件,选择Code->Convert java file to kotlin file.

不需要任何复杂的东西:

获取当前时间和日期作为Date对象

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

将其转换为Long

val dateTimeAsLong: Long = dateTime.time

Long转换回Date

val backToDate: Date = Date(dateTimeAsLong)

我喜欢使用扩展功能,如...

将很长的转换为时间&日期字符串:

fun Long.toTimeDateString(): String {
    val dateTime = java.util.Date(this)
    val format = SimpleDateFormat("HH:mm:ss dd/MM/yyyy", Locale.US)
    return format.format(dateTime)
}

转换时间&日期字符串到长:

fun String.toTimeDateLong(): Long {
    val format = SimpleDateFormat("HH:mm:ss dd/MM/yyyy", Locale.US)
    return format.parse(this)?.time ?: throw IllegalArgumentException("Invalid time string")
}

使用:

fun main() {
   val timeDateLong = "10:23:12 12/11/2022".toTimeDateLong()
   
   val timeDateStr = timeDateLong.toTimeDateString()
}

用格式转换至日期字符串:

fun Long.convertMilliSecondsToDate(): String {
            val date = Date(this)
            val format = SimpleDateFormat("yyyy.MM.dd HH:mm", Locale.ENGLISH)
            return format.format(date)
        }
private val simpleDateFormat by lazy { SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()) }
fun getDate(timeStamp: Long): String {
    return simpleDateFormat.format(Date(timeStamp))
}

最新更新