gpt4 book ai didi

java - 如何将包含日期和时间的字符串转换为 LocalTime 变量

转载 作者:行者123 更新时间:2023-12-02 12:37:14 29 4
gpt4 key购买 nike

我正在转换包含三个不同时间的String序列
开始、结束和持续时间
“00:01:00,00:02:00,00:01:00”

LocalTime变量:

for (final String str : downtime) {
final DependencyDownTime depDownTime = new DependencyDownTime ();
final String[] strings = str.split (",");

if (strings.length == 3) {

LocalTime start = LocalTime.parse (strings[0]);
depDownTime.setStartTime (start);

LocalTime end = LocalTime.parse (strings[1]);
depDownTime.setEndTime (end);

Duration duration = Duration.between (start, end);
depDownTime.setDuration (duration);
downTimes.add (depDownTime);
}
}

正在解析的String已更改,现在包含日期。 2017-09-13 00:01:00

如何删除仅保留时间的日期字符串?

我尝试使用SimpleDateFormat

final DateFormat dateFormat = new SimpleDateFormat ("HH:mm:ss");
LocalTime start = LocalTime.parse (dateFormat.format (strings[0]));
depDownTime.setStartTime (start);

但是我得到一个java.lang.IllegalArgumentException

最佳答案

您可以使用 DateTimeFormatter,然后将其解析为 LocalDateTime 并从中提取 LocalTime:

String input = "2017-09-13 00:01:00";
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalTime time = LocalDateTime.parse(input, fmt).toLocalTime();

或者使用 from 方法将其直接解析为 LocalTime:

LocalTime time = LocalTime.from(fmt.parse(input));

或者(更简单):

LocalTime time = LocalTime.parse(input, fmt);

关于java - 如何将包含日期和时间的字符串转换为 LocalTime 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46218609/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com