已完成的模块: 1. 项目脚手架 - Gradle配置、28个包目录、核心基类 2. 权限管理 - 确认定制ROM已预授权所有权限 3. 工具类 - DateUtil/DeviceUtil/NetworkUtil/Md5Util 4. 设备信息 - DevicePrefs/UserPrefs (SharedPreferences) 5. 网络层 - OkHttp+Retrofit+MD5签名拦截器+解绑拦截器 6. 基础UI组件 - NavBarView/QuTipDialog/QuConfirmDialog/ActionButton/iconfont Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
79 lines
2.6 KiB
Kotlin
79 lines
2.6 KiB
Kotlin
package com.xiaoqu.watch.util
|
|
|
|
import java.text.SimpleDateFormat
|
|
import java.util.Calendar
|
|
import java.util.Date
|
|
import java.util.Locale
|
|
|
|
/**
|
|
* 日期格式化工具
|
|
* 对应旧版 commonUtil.js 的 getDateTime()
|
|
*/
|
|
object DateUtil {
|
|
|
|
private val weekNames = arrayOf("周日", "周一", "周二", "周三", "周四", "周五", "周六")
|
|
|
|
private val formatDateTime = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA)
|
|
private val formatDate = SimpleDateFormat("MM月dd日", Locale.CHINA)
|
|
private val formatTime = SimpleDateFormat("HH:mm:ss", Locale.CHINA)
|
|
private val formatTimeShort = SimpleDateFormat("HH:mm", Locale.CHINA)
|
|
|
|
/** 完整日期时间:2026-04-24 20:15:30 */
|
|
fun formatDateTime(timestamp: Long = System.currentTimeMillis()): String {
|
|
return formatDateTime.format(Date(timestamp))
|
|
}
|
|
|
|
/** 月日:04月24日 */
|
|
fun formatDate(timestamp: Long = System.currentTimeMillis()): String {
|
|
return formatDate.format(Date(timestamp))
|
|
}
|
|
|
|
/** 时分秒:20:15:30 */
|
|
fun formatTime(timestamp: Long = System.currentTimeMillis()): String {
|
|
return formatTime.format(Date(timestamp))
|
|
}
|
|
|
|
/** 时分:20:15 */
|
|
fun formatTimeShort(timestamp: Long = System.currentTimeMillis()): String {
|
|
return formatTimeShort.format(Date(timestamp))
|
|
}
|
|
|
|
/** 星期:周四 */
|
|
fun getWeekDay(timestamp: Long = System.currentTimeMillis()): String {
|
|
val calendar = Calendar.getInstance()
|
|
calendar.timeInMillis = timestamp
|
|
return weekNames[calendar.get(Calendar.DAY_OF_WEEK) - 1]
|
|
}
|
|
|
|
/**
|
|
* 获取完整日期信息(对应旧版 getDateTime() 返回对象)
|
|
*/
|
|
fun getDateInfo(timestamp: Long = System.currentTimeMillis()): DateInfo {
|
|
val calendar = Calendar.getInstance()
|
|
calendar.timeInMillis = timestamp
|
|
return DateInfo(
|
|
date = formatDate(timestamp),
|
|
time = formatTime(timestamp),
|
|
week = weekNames[calendar.get(Calendar.DAY_OF_WEEK) - 1],
|
|
year = calendar.get(Calendar.YEAR),
|
|
month = calendar.get(Calendar.MONTH) + 1,
|
|
day = calendar.get(Calendar.DAY_OF_MONTH),
|
|
hour = calendar.get(Calendar.HOUR_OF_DAY),
|
|
minute = calendar.get(Calendar.MINUTE),
|
|
second = calendar.get(Calendar.SECOND)
|
|
)
|
|
}
|
|
|
|
data class DateInfo(
|
|
val date: String,
|
|
val time: String,
|
|
val week: String,
|
|
val year: Int,
|
|
val month: Int,
|
|
val day: Int,
|
|
val hour: Int,
|
|
val minute: Int,
|
|
val second: Int
|
|
)
|
|
}
|