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

如何在java中解析日期字符串EEE MMM dd到yyyy-MM-dd[副本]

淳于恺
2023-03-14

我的日期模式是EEEEE MMMMM yyyy hh:mm:ss.sssz,我想用java将其转换为yyyy-MM-dd格式,我尝试了下面的方法,但我得到了这个异常java.text.ParseException:Unparseable date:

   SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
    String dateInString = "Sun Oct 01 00:00:00 EDT 2017";

    try {

        Date date = formatter.parse(dateInString);
        System.out.println(date);
        System.out.println(formatter.format(date));

    } catch (ParseException e) {
        e.printStackTrace();
    }

有人能帮我解决这个问题吗?

多谢了。

共有1个答案

鲜于宏义
2023-03-14

在java-8中,您可以使用zoneddatetime,输入日期的模式为eee MMM dd hh:mm:ss zzz yyyy

String dateInString = "Sun Oct 01 00:00:00 EDT 2017";

ZonedDateTime time = ZonedDateTime.parse(dateInString,DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy"));
System.out.println(time.toLocalDate());   //2017-10-01

默认情况下,localdate在ISO-8601日历系统中没有时区,如2007-12-03。

 类似资料:
  • 问题内容: 我想在Java中解析这种格式为dd / MM / yyyy [至dd / MM / yyyy]的String的最佳方法是什么。带[]的字符串是可选的,dd代表日期的2位数字表示,MM是月份的2位数字表示,yyyy是年份的4位数字表示。 更新资料 谢谢大家的快速响应,但是我忘了告诉您[]是象征可选的,字符串中没有[]示例字符串可能是 22/01/2010 从22/01/2010至23/0

  • 我有格式为“2020/02/25 23:58:08”的日期字符串。我想把它解析为‘2020-02-25’。 注意:最初的日期是字符串格式,转换后无论是日期格式还是字符串格式都无关紧要。 文件js公司 当我运行这个程序时,我得到了未捕获的引用错误:gi未定义,gi是全局替换

  • 问题内容: 可能重复: 扩展JavaScript的Date.parse以允许DD /MM/YYYY(非美国格式的日期)吗?将dd-mm-yyyy字符串转换为日期 在文本框中输入日期,例如: 05/09/1985,我想将其转换为1985年9月5日(dd-MMM-yyyy)格式。我将如何实现?请注意,源格式可以是或或格式。 代码段: 此代码返回 1985年 5月9 日, 但我希望 1985年9月5日

  • 我想使用日期格式为yyyy-MM-dd hh:mm:ss的localdatetime.parse()方法解析一个日期,但实际得到的是格式为yyyy-mm-ddthh:mm:ss的日期。我不需要那个“T”。请参阅下面的代码 我得到的结果是2016-10-31T23:59:59。看那个“T”。“t”引起了一些问题,因此我无法将其保存到我的数据库中。我尝试在类型的列中持久化该值;我得到错误-。

  • 问题内容: 我有一个日期列,其中日期格式为 在SQL Server中。有什么可能的方法来检索日期格式为 在选择语句中? 问题答案: 试试这个: 源链接 附录1: 如我的评论中所述,您需要先将字段转换为类型,然后才能执行上述操作。此示例应在您的SQL Server上运行: 如果出现此异常: 消息242,级别16,状态3,行1将varchar数据类型转换为datetime数据类型导致超出范围的值。 然

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为