使用jodatime从字符串日期获取日期名称

时间:2016-08-31 09:52:09

标签: java date jodatime

我有这样的字符串日期

String s = "29-08-2016";

期望的结果是星期几的名称:

  

周一

如何解决?

3 个答案:

答案 0 :(得分:4)

不使用JODA库,使用简单的java代码获取星期的日期名称。

String s = "28-08-2016";
Date date = new SimpleDateFormat("d-M-yyyy").parse(s);
String dayOfWeek = new SimpleDateFormat("EEEE", Locale.ENGLISH).format(date);
System.out.println(dayOfWeek); // Monday

答案 1 :(得分:3)

Joda的简单外卖

String date = "29-08-2016";
LocalDate localDate = DateTimeFormat.forPattern("dd-MM-yyyy").parseLocalDate(date);
System.out.println(DateTimeFormat.forPattern("EEEE").print(localDate));

打印:星期一

答案 2 :(得分:1)

java.time

Joda-Time项目现在处于维护模式。团队建议迁移到java.time类。

首先将输入字符串解析为LocalDate

DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MM-uuuu" );
LocalDate ld = LocalDate.parse( input , f );

现在询问由DayOfWeek枚举对象表示的星期几。

DayOfWeek dow = ld.getDayOfWeek();

要求该对象生成本地化名称。

Locale l = Locale.US;  // Or Locale.CANADA_FRENCH etc.
TextStyle ts = TextStyle.FULL_STANDALONE;
String output = ld.getDisplayName( ts , l );