如何将字符串解析为Java Date? [重复]

问题描述 投票:1回答:1
如何在Java中将"Fri Feb 14 09:58:21 EST 2020"之类的字符串解析为Date?

我能找到的最接近的例子是:

SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; try { Date date = formatter.parse(dateInString); System.out.println(date); System.out.println(formatter.format(date)); } catch (ParseException e) { e.printStackTrace(); }

但是它没有“ EST”部分,什么是正确的方法?
java date java-time
1个回答
4
投票
您的模式不正确,它包含许多问题:

    [EEEE替换为EEE
  • [,删除此内容,因为您的字符串没有逗号
  • ,第二个逗号是相同的东西
  • 替换yyyy的位置并放在最后]
  • [a删除,因为它根本不使用,而是使用z来匹配ETC

  • 如果使用java-time,则可以使用此模式EEE MMM dd HH:mm:ss z yyyy解析日期:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "EEE MMM dd HH:mm:ss z yyyy", Locale.US); ZonedDateTime zdt = ZonedDateTime.parse(str, formatter);


  • 0
    投票

    在从字符串中删除“ EST”并将“天”添加到周五/周一等时使用替代方法呢?>

    这样,您可以使用一种常见格式。

    © www.soinside.com 2019 - 2024. All rights reserved.