从本地日期时间字符串中获取时间

问题描述 投票:0回答:3

我有一个看起来像这样的字符串:

String localTimeString = "2018-03-01T17:20:00.000+01:00";

什么是正确的方法来获取此字符串中的时间,格式为“HH:mm”?

(Min sdk设为19)

所有帮助赞赏!

java android datetime
3个回答
1
投票

您的字符串采用标准ISO格式,因此您可以使用以下方法轻松解析它:

OffsetDateTime.parse(localTimeString)

现在你只需要时间组件,你需要一个字符串表示:

String time = OffsetDateTime.parse(localTimeString).toLocalTime().toString();

输出“17:20”。请注意,这是有效的,因为原始字符串中没有秒,否则它们也会出现在输出中。


2
投票

您可以从LocalDateTime中获取小时和分钟并将它们连接起来。

LocalDateTime now = LocalDateTime.now();
String formatTime = now.getHour() + ":" + now.getMinute();

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")));
© www.soinside.com 2019 - 2024. All rights reserved.