android - 带前导零的本地化时间
问题描述
在我的语言环境下DateFormat.getTimeInstance(DateFormat.SHORT).format(...)
给了我8:28 AM
. 有没有办法获得本地化时间但前导零(即08:28 AM
在我的情况下) - 我的意思是没有硬编码模式等?
解决方案
如果你想有 24H 格式时间,你可以使用 kotlin 扩展来做这样的事情:
fun Long.formatTime(): String? {
val calendar = Calendar.getInstance()
calendar.time = Date(this)
val hour = calendar.get(Calendar.HOUR_OF_DAY)
val minute = calendar.get(Calendar.MINUTE)
return String.format("%02d:%02d", hour, minute)
}
已编辑
如果您仍然没有找到解决方案
val dateFormat = SimpleDateFormat("hh:mm a", Locale.getDefault())
print(dateFormat.format(Date()))
这打印
上午 08:24
推荐阅读
- java - 如何防止 Spotless/Eclipse 加入行?
- influxdb - InfluxDB:查询聚合但处理丢失的数据
- python - Python有效地检查和创建多个csv文件路径
- c# - 如何检查字典是否包含字符串中的字母
- loops - 带有 sympy 的基本循环给了我这个错误信息:'Symbol' object is not subscriptable
- reactjs - 设置状态时重新渲染过多 - useSWR
- ubuntu - Onedrive 同步未检测到远程更改 - Ubuntu 18.04
- php - 如何正确连接 mysqli 和 PHP
- excel - Power Query 仅加载前 20 列
- arrays - 如何从 Dart 的列表中查找缺失的数字