代码a可以将较长的值转换为日期值,就像2018.01.10
一样我希望获得日期 时间值,例如2018.01.10 23:11,我该如何处理Kotlin?
我希望将当前时间转换为长时间的价值,我该如何处理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))
}