我有一个看起来像这样的字符串:
String localTimeString = "2018-03-01T17:20:00.000+01:00";
什么是正确的方法来获取此字符串中的时间,格式为“HH:mm”?
(Min sdk设为19)
所有帮助赞赏!
您的字符串采用标准ISO格式,因此您可以使用以下方法轻松解析它:
OffsetDateTime.parse(localTimeString)
现在你只需要时间组件,你需要一个字符串表示:
String time = OffsetDateTime.parse(localTimeString).toLocalTime().toString();
输出“17:20”。请注意,这是有效的,因为原始字符串中没有秒,否则它们也会出现在输出中。
您可以从LocalDateTime中获取小时和分钟并将它们连接起来。
LocalDateTime now = LocalDateTime.now();
String formatTime = now.getHour() + ":" + now.getMinute();
将字符串解析为LocalDateTime
String localTimeString = "2018-03-01T17:20:00.000+01:00";
LocalDateTime ldt = LocalDateTime.parse(localTimeString, DateTimeFormatter.ISO_DATE_TIME);
然后将其格式化为输出小时和分钟
System.out.println(ldt.format(DateTimeFormatter.ofPattern("HH:mm")));