如何在Java中将[04/07/19]转换为[Sun,Apr 4]?

时间:2019-03-18 22:00:48

标签: java date java-date

我需要检查04/07/19是否恰好是Sun, 7 Apr。 我的一项测试中使用了该断言。

3 个答案:

答案 0 :(得分:2)

您可以使用DateTimeFormatter将字符串解析为LocalDate,然后将其重新格式化为字符串:

// create a date from the String input
LocalDate date = LocalDate.parse("04/07/19", DateTimeFormatter.ofPattern("MM/dd/yy", Locale.ENGLISH));
// format the date back to a new string
String result = date.format(DateTimeFormatter.ofPattern("EE, d MMM", Locale.ENGLISH));
System.out.println(result);

结果是:Sun, 7 Apr

如果要使用其他语言,则只需更改Locale参数。默认为您的系统语言。

了解或更改日期格式模式this reference可能会有所帮助。它描述了所有不同的符号和含义。

答案 1 :(得分:1)

private void go() {
    String date = "04/07/19";

    DateTimeFormatter fromFormatter = DateTimeFormatter.ofPattern("MM/dd/yy");
    DateTimeFormatter toFormatter = DateTimeFormatter.ofPattern("EEE, d MMM");

    System.out.println(toFormatter.format(fromFormatter.parse(date)));
}

收益Sun, 7 Apr

答案 2 :(得分:1)

您可以将LocalDate类(从Java 8开始提供)与DateTimeFormatter一起使用。这是一个示例:

public static void main(String... args) {
        LocalDate date = LocalDate.parse("04/07/19",DateTimeFormatter.ofPattern("MM/dd/yy"));
        System.out.println( date.format(DateTimeFormatter.ofPattern("EEE, d MMM")));
        //If you need the day of the week
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        System.out.println("Day of week : "+dayOfWeek);
    }

它将打印:

  

4月7日,星期日

     

星期几:SUNDAY

希望这可以为您提供帮助