Files
xqwatch/app/src/main/java/com/xiaoqu/watch/util/DateUtil.kt
dongliang a397985954 feat: 小趣手表APP Android原生重构 - 基础框架搭建
已完成的模块:
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>
2026-04-27 11:26:50 +09:30

79 lines
2.6 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
)
}