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