gpt4 book ai didi

java - 使用模式将我的字符串转换为 LocalTime

转载 作者:搜寻专家 更新时间:2023-11-01 02:18:56 25 4
gpt4 key购买 nike

我想将我的字符串转换为 LocalTime 格式

    String s = "1時30分:00";
String ss = s.replace("時", ":").replace("分", ":");
DateTimeFormatter timeColonFormatter = new DateTimeFormatterBuilder().parseCaseInsensitive().appendPattern("hh:mm a").toFormatter(Locale.JAPAN);
System.out.println(timeColonFormatter);
LocalTime colonTime = LocalTime.parse("3:30 am", timeColonFormatter);
System.out.println(colonTime);

我收到错误:

线程“main”中的异常 java.time.format.DateTimeParseException:无法在索引 0 处解析文本“3:30”

预期输出:

凌晨 3:30

最佳答案

在您的模式中,您有一个两位数的小时,并且由于您的语言环境是日本,因此您必须使用日语中的 AM/PM,即午前/午后,分别如:

LocalTime.parse("03:30 午前", timeColonFormatter);
LocalTime.parse("03:30 午後", timeColonFormatter);

您也可以接受个位数时间,格式为 "h:mm a"

编辑:您也可以直接解析日本时间,无需转换为半国际格式,例如使用模式"h时mm分a":

LocalTime colonTime = LocalTime.parse("3時30分 午前", timeColonFormatter);

或者,按照正确的日文顺序,使用模式"ah时mm分":

LocalTime colonTime = LocalTime.parse("午前3時30分", timeColonFormatter);

关于java - 使用模式将我的字符串转换为 LocalTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56863508/

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