You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.7 KiB
Kotlin
83 lines
1.7 KiB
Kotlin
package com.common.commonlib.utils
|
|
|
|
import android.annotation.SuppressLint
|
|
import java.text.SimpleDateFormat
|
|
import java.util.*
|
|
|
|
/**
|
|
* 时间工具类
|
|
*/
|
|
object DateUtils {
|
|
/**
|
|
* 如果使用大写HH标识使用24小时显示格式,如果使用小写hh就表示使用12小时制格式
|
|
*/
|
|
const val DATE_TO_STRING_DETAIL_PATTERN = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
/**
|
|
* 年-月-日 显示格式
|
|
* */
|
|
const val DATE_TO_STRING_SHORT_PATTERN = "yyyy.MM.dd"
|
|
|
|
/**
|
|
* 年-月-日 显示格式
|
|
* */
|
|
const val DATE_TO_STRING_LONG_PATTERN = "yyyy_MM_dd HH:mm:ss"
|
|
|
|
/**
|
|
* 60秒
|
|
*/
|
|
const val SECONDS = 60
|
|
|
|
/**
|
|
* 60分钟
|
|
*/
|
|
const val MINUS = 60
|
|
|
|
/**
|
|
* 得到现在时间
|
|
*
|
|
* @return
|
|
*/
|
|
private fun getNow(): Date {
|
|
return Date()
|
|
}
|
|
|
|
@SuppressLint("SimpleDateFormat")
|
|
fun getNowTimeFormat(format: String): String {
|
|
val formatter = SimpleDateFormat(format)
|
|
return formatter.format(getNow())
|
|
}
|
|
|
|
/**
|
|
* 将int型的数据转化成 XX:XX:XX" 形式的字符串
|
|
*/
|
|
fun getDurationTimeByInt(source: Int): String {
|
|
var temp = source
|
|
var h = 0
|
|
var m = 0
|
|
var s = 0
|
|
var result = ""
|
|
if (temp >= SECONDS * MINUS) {
|
|
h = temp / (SECONDS * MINUS)
|
|
temp -= h * (SECONDS * MINUS)
|
|
}
|
|
if (temp >= SECONDS) {
|
|
m = temp / SECONDS
|
|
temp -= m * SECONDS
|
|
}
|
|
s = temp
|
|
|
|
result = when {
|
|
h > 0 -> {
|
|
"$h:$m:$s\""
|
|
}
|
|
m > 0 -> {
|
|
"$m:$s\""
|
|
}
|
|
else -> {
|
|
"$s\""
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
} |