我必須將特定的時間戳值轉換為時間。我可以成功將其轉換為 24 小時格式。但是在顯示或將其轉換為 12 小時格式時遇到了小問題。
對于時間戳:1639588870我得到,
24 小時制:22:51(正確)
12 小時制:22:51 PM(不正確)
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 小時格式可能存在什么問題?
謝謝。
uj5u.com熱心網友回復:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382526.html
