在 Kotlin 中将时间戳值转换为 12/24 小时时间值
Converting Timestamp value to 12/24 hour Time value in Kotlin
我必须将特定的时间戳值转换为时间。
我可以成功地将它转换为 24 小时格式。但是在显示或将其转换为 12 小时格式时出现小问题。
对于时间戳:1639588870我得到,
24 小时格式:22:51(正确)
12 小时格式:22:51 下午(不正确)
12 小时格式 应该是 10:51 PM 而不是 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 小时格式可能会出现什么问题?
谢谢。
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 的文档class
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
我必须将特定的时间戳值转换为时间。 我可以成功地将它转换为 24 小时格式。但是在显示或将其转换为 12 小时格式时出现小问题。
对于时间戳:1639588870我得到,
24 小时格式:22:51(正确)
12 小时格式:22:51 下午(不正确)
12 小时格式 应该是 10:51 PM 而不是 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 小时格式可能会出现什么问题?
谢谢。
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 的文档class https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html