高效的日期解析

时间:2018-07-31 14:41:54

标签: java parsing

我正在使用系统的API,该API以这种格式返回日期- 2018年6月10日,星期日,05:23:03。

我想有效地将​​其解析为如下所示的内容- “ dd-mm-year year”。

我可以使用Java构建的任何解析器吗?还是我需要使用特定的功能?

谢谢。

2 个答案:

答案 0 :(得分:0)

DateTimeFormatter

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss yyyy");
    System.out.println(LocalDate.parse(str, formatter));

输出:

2018-06-10

您可以使用SimpleDateFormat解析如下:

public static void main(String[] args) throws IOException, ParseException {
    String str = "Sun Jun 10 05:23:03 2018";
    DateFormat fmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy", Locale.ENGLISH);

    DateFormat targetFormat = new SimpleDateFormat("dd-MM-yyyy");

    Date date = fmt.parse(str);

    System.out.println(date);
    System.out.println(targetFormat.format(date));
}

输出:

Sun Jun 10 05:23:03 EET 2018
10-06-2018

答案 1 :(得分:-1)

您可以在Java中使用SimpleDateFormat类。 以下代码段将向您展示如何相应地解析日期。

Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
String strDate= formatter.format(date);

我希望这是您要寻找的。希望对您有帮助。