当前位置: 首页 > 知识库问答 >
问题:

将字符串转换为特定格式的DateTime对象(例如不带日期)

凌啸
2023-03-14

我需要将我的string转换为没有日期的时间。我使用了SimpleDateFormat,它起作用了。但我需要的是Java中的Localdatetime。

String str = "10:30:20 PM";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss a");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

但它给了我这个错误:

线程“main”java.time.format.DateTimeParseException中的异常:无法解析文本“10:30:20 PM”:无法从temporalaccessor获取LocalDateTime:{},ISO解析为类型java.time.format.Parsed的22:30:20

共有1个答案

符献
2023-03-14

您可以将localeDateTimeFormatter一起使用-

String str = "10:30:20 PM";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss a",Locale.ENGLISH);
LocalTime time = LocalTime.parse(str, formatter);
System.out.println(time);

还要注意,您必须在这里使用localtime.parse(),因为您在date中的字符串不包含date部分。

 类似资料:
  • 问题内容: 我有以下日期: 我需要知道这是date在 datetime(2009,04,01) 之前还是之后,而且我似乎找不到找到将字符串转换为可以将其与 datetime(2009,04,01) 比较的 方法。 ) 以一种有意义的方式。 问题答案: 由于该字符串采用ISO格式,因此可以直接将其与您提到的ISO格式版本进行有意义的比较: 如您所见,虽然您无法将字符串与日期时间对象进行比较,但只要字

  • 问题内容: 我使用Java中的Joda-Time库,并将日期和时间存储为org.joda.time.DateTime对象。 我如何可靠地将此DateTime对象转换为将由SQL Server(包括时区)正确解析的String,以便可以在INSERT SQL语句中使用它? 问题答案: 与一起使用。 请注意,仅存储日期部分,而不存储时间部分。

  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。

  • 问题内容: 在将日期字符串转换为中的对象时,我看到了很多东西,但我想采用另一种方法。 我有 我想将其转换为类似的字符串。 问题答案: 你可以使用来帮助设置日期格式。 例如, 将产生:

  • 问题内容: 我想将字符串日期转换为特定时区和特定格式的DateTime对象。我该怎么做 ? 字符串日期可以是世界上使用的任何格式。示例MM-DD-YYYY,YYYY-MM-DD,MM / DD / YY,MM / DD / YYYY等。TimeZone可以是用户指定的任何合法时区。 示例-将太平洋时区的YYYY-MM-DD转换为MM / DD / YY。 问题答案: 使用建立一个格式,它能够解析/