java - 在 Kotlin Android(最低 Android 版本 21)中从 24 小时格式转换为 12 小时格式时,从 12:00 到 12:59 的 AM/PM 值错误
问题描述
我的扩展功能:
fun String.formatDate(): String {
val outputFormat: DateFormat = SimpleDateFormat("MMM dd, yyyy hh:mm a")
return outputFormat.format(SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.US).parse(this))
}
当我发送“2021-11-03 12:02:12”时,我得到“2021 年 11 月 3 日 12:02 AM”
它应该是“2021 年 11 月 3 日下午 12:02”。(参考下图)
解决方案
修好了 有一个小错误。
我使用hh
的是输入格式,即 12 小时格式。我需要HH
改用。
return outputFormat.format(SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US).parse(this))
推荐阅读
- c - 从二进制文件读取结构时出现问题
- class - 在 C++ 类中对常量进行分组
- google-cloud-platform - 数据流 IO 到 BigTable [2.9.0]
- node.js - 根据服务器上的 X 时间将用户移动到不同的角色
- grafana - 如何制作只有颜色和文本作为链接的 Grafana 面板?
- node.js - CircleCI 中的 package-lock.json 有什么问题?
- html - display:table-row 在除 FireFox 之外的浏览器中不起作用
- php - 如何在 Laravel 中使用左连接查找匹配记录
- here-api - 我可以请求具有最大坡度或海拔变化的卡车路线吗?
- python - 循环遍历包含字符串的列表