java - 转换格式为 1/1/2010 3 :23:12 PM +00:00 to a Java. util.Date 的字符串模式

标签 java date

我正在尝试将格式为 1/1/2010 3:23:12 PM +00:00 的字符串转换为 Java.util.Date

无法将字符串格式转换为 Java 日期。 它没有将时间识别为AM/PM

String s = "1/1/2010 3:23:12 PM +00:00";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss a",Locale.ENGLISH);

Date date = sdf.parse(s));

需要将日期转换为AM/PM的时间

最佳答案

OffsetDateTime 就是您要查找的内容。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d/M/yyyy h:mm:ss a XXX");
OffsetDateTime time = OffsetDateTime.parse(str, formatter);
System.out.println(time);

您的模式有一些问题:

  • 您的日期没有前导零,但您使用的是 dd
  • MM 的月份相同;
  • HH 的小时相同;
  • 您将 AM/PM 与 24 小时制时间格式说明符 (H) 结合使用;您应该使用 h 来代替。

我不确切知道 SimpleDateFormat 如何处理字符串的时区部分,但没有给出时区的格式说明符。

这就是我喜欢这个日期和时间 API 的原因之一:它非常简单。

关于java - 转换格式为 1/1/2010 3 :23:12 PM +00:00 to a Java. util.Date 的字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56350729/

相关文章:

mysql - 从日期字段 mysql 中仅提取月份和日期

Java方法设计模式

java - 通过 JCheckBox 设置 JScrollPane 可见/不可见不起作用

Java Date(日历)计算给定日期时间的本地时间一天的开始

java - 获取上个月的第一个和最后一个日期

php - PHP 中两个日期之间的完整天数?

linux - 使用 find 命令格式化时间戳

java - 不同方法中的多个查询 Twitter4j 处理

Java Mail 身份验证和连接

ruby-on-rails - Ruby 挽救多个特定错误