首页 > 解决方案 > 带前导零的本地化时间

问题描述

在我的语言环境下DateFormat.getTimeInstance(DateFormat.SHORT).format(...)给了我8:28 AM. 有没有办法获得本地化时间但前导零(即08:28 AM在我的情况下) - 我的意思是没有硬编码模式等?

标签: android

解决方案


如果你想有 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


推荐阅读