【问题标题】:Java 8 time converter from 12 to 24 formatJava 8 时间转换器从 12 到 24 格式
【发布时间】:2018-08-21 09:22:31
【问题描述】:

我在代码下方尝试了一个简单的练习,将时间从 12 转换为 24:

 String result = LocalTime.parse(time, DateTimeFormatter.ofPattern("hh:mm:ssa")).toString();
    System.out.println("result = " + result);

问题是当秒数为 0 时,该方法会截断秒数, 例如时间 12:00:00AM 结果是 00:00,我希望它是 00:00:00。

谢谢。

【问题讨论】:

标签: java datetime-format


【解决方案1】:

你需要指定格式:

DateTimeFormatter.ISO_TIME.format(LocalTime.of(0, 0))
// returns "00:00:00"

您也可以使用自己的模式。以下产生相同的输出:

DateTimeFormatter.ofPattern("HH:mm:ss").format(LocalTime.of(0, 0))

【讨论】:

  • 所以,我必须拆分时间字符串,以防是上午还是下午?
  • 此格式使用 24 小时制,因此不包括上午/下午。 “分裂”是什么意思?能举个例子吗?
  • @Faber LocatTime.of(0,0) 只是一个例子。我相信在您的情况下,您必须致电 DateTimeFormatter.ISO_TIME.format(LocalTime.parse(time, DateTimeFormatter.ofPattern("hh:mm:ssa"))) 才能获得所需的输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多