我有这样的字符串日期
String s = "29-08-2016";
期望的结果是星期几的名称:
周一
如何解决?
答案 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)
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 );