将时间戳值转换为 Kotlin 中的 12/24 小时时间值
Posted
技术标签:
【中文标题】将时间戳值转换为 Kotlin 中的 12/24 小时时间值【英文标题】:Converting Timestamp value to 12/24 hour Time value in Kotlin 【发布时间】:2022-01-18 21:19:04 【问题描述】:我必须将特定的时间戳值转换为时间。 我可以成功地将其转换为 24 小时格式。但在显示或将其转换为 12 小时格式时出现小问题。
对于时间戳:1639588870我得到了,
24 小时制:22:51(正确)
12 小时制:22:51 PM(不正确)
12 小时制应该是晚上 10:51 而不是 22:51 PM
我正在使用以下函数将时间戳值转换为我的特定时间格式显示值:
fun getDateTime(timeStamp: String): String?
var sdf = SimpleDateFormat("HH:mm")
try
if (prefManager.getDefaultTimeSelection().equals(TIME_24_HOUR))
sdf = SimpleDateFormat("HH:mm")
else
sdf = SimpleDateFormat("HH:mm aa")
val netDate = Date(timeStamp.toLong() * 1000)
return sdf.format(netDate)
catch (e: Exception)
return e.toString()
将时间戳转换为 12 小时格式可能会出现什么问题?
谢谢。
【问题讨论】:
【参考方案1】:12 小时格式为hh
(小写)。 HH
是 24 小时制。
你必须改变这一行
sdf = SimpleDateFormat("HH:mm aa")
到
sdf = SimpleDateFormat("hh:mm aa")
来自文档:
Letter Date or Time Component
H Hour in day (0-23)
h Hour in am/pm (1-12)
SimpleDateFormat 类的文档 https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
【讨论】:
以上是关于将时间戳值转换为 Kotlin 中的 12/24 小时时间值的主要内容,如果未能解决你的问题,请参考以下文章
如何将改造回调响应中的回调从 java 转换为 Kotlin
将 postgresql 中的 UTC 时区转换为 EST(本地时间)