如何将Long值转换为日期时间,并将当前时间转换为LongKotlin?

sirbozc5  于 2023-08-06  发布在  Kotlin
关注(0)|答案(5)|浏览(132)

代码A可以将长值转换为日期值,就像2018.01.10
1.我希望得到Date + Time的值,比如2018.01.10 23:11,用Kotlin怎么办?
1.我希望将当前时间转换为长时间值,如何使用Kotlin?
谢谢你,谢谢

代码A

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

字符串

qnzebej0

qnzebej01#

试试这个,我用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.

ruoxqz4g

ruoxqz4g2#

不需要任何复杂的东西:
获取当前时间和日期作为Date对象

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

字符串
转换为Long

val dateTimeAsLong: Long = dateTime.time


Long转换回Date

val backToDate: Date = Date(dateTimeAsLong)

acruukt9

acruukt93#

我喜欢使用扩展功能,因此...
将long转换为时间和日期字符串:

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()
}

tkclm6bt

tkclm6bt4#

将long转换为日期字符串,格式为:

fun Long.convertMilliSecondsToDate(): String {
            val date = Date(this)
            val format = SimpleDateFormat("yyyy.MM.dd HH:mm", Locale.ENGLISH)
            return format.format(date)
        }

字符串

gfttwv5a

gfttwv5a5#

private val simpleDateFormat by lazy { SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()) }

fun getDate(timeStamp: Long): String {
    return simpleDateFormat.format(Date(timeStamp))
}

字符串

相关问题