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

将日期字符串解析为另一种格式[重复]

滕祯
2023-03-14

我有个问题。我试图将包含日期的字符串解析为另一种日期格式。代码:

String datumString = "Mon, 27 Jan 2020 21:31:16 +0100";
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
    Date zeitstempel = null;
    try {
        zeitstempel = simpleDateFormat.parse(datumString);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    System.out.println(zeitstempel);

错误消息:

java.text.ParseException: Unparseable date: "Mon, 27 Jan 2020 21:31:16 +0100"
at java.text.DateFormat.parse(DateFormat.java:366)
at de.puki.geopolitan.Main.<init>(Main.java:32)
at de.puki.geopolitan.Main.main(Main.java:73)

请帮助。:)

共有1个答案

周辰沛
2023-03-14

变量名显示您是德国人,很可能在使用德语和日期格式的系统上工作。默认情况下,这也会影响SimpleDateFormat输出和解析(除非您指定要使用的区域设置)!

德语和英语/美国格式的日期字符串之间有一个小而显着的区别:

Locale.ENGLISH: "Mon, 27 Jan 2020 21:31:16 +0100";
Locale.GERMAN:  "Mo., 27 Jan 2020 21:31:16 +0100";

但是,您解析的日期字符串使用英文日期格式,因此必须显式设置语言环境。美国或地区。英语构造SimpleDataFormat时:

simpleDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);

然后,您可以解析问题中的示例日期字符串。

 类似资料:
  • 我有一个输入日期作为字符串,格式为dd/MM/yyyy 现在我想把它转换成日期对象,格式为yyyy-MM-dd 目前我正在做 输入为:“2013年4月2日” 但我的约会对象是… 所需输出为:2013-02-04(不是字符串,而是日期对象)

  • 问题内容: 有没有一种简单的方法可以将一种日期格式转换为PHP中的另一种日期格式? 我有这个: 但是我当然希望它返回一个当前日期,而不是返回“黎明”。我究竟做错了什么? 问题答案: 第二个参数必须是正确的时间戳(自1970年1月1日以来的秒数)。您正在传递一个字符串,date()无法识别。 您可以使用 strtotime() 将日期字符串转换为时间戳。但是,即使strtotime()也无法识别格式

  • 我需要将一些字符串日期转换为另一种格式的字符串日期 我想按照“yyyy-MM-dd'T'HH:MM:ss.SSSXX”模式获得ISO-8601格式的结果日期字符串 你能帮我实现这个吗?

  • 我有一个字符串日期,我想把它转换成另一种格式。例如:我有一个日期作为字符串,我想将其转换为字符串,如下所示<代码>“2020年2月10日”变成“2021年11月27日”变成,就像这样。

  • 我刚到爪哇。Postgres db包含日期的格式为。我需要转换为。 我已经试过了,但是显示的结果是错误的

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