tl;博士
所以,如果我通过它(2020 年 11 月 17 日),它应该返回“TUESDAY”。
使用java.time。
java.time.LocalDate
.of( 2020 , 11 , 17 )
.getDayOfWeek()
.toString()
星期二
详情
切勿使用Calendar、GregorianCalendar 等。他们疯狂的月份编号,即 11 月 = 10 只是避免使用这些遗留课程的众多原因之一。
使用现代 java.time 类而不是糟糕的旧日期时间类。
String input = "17/11/2020" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" ) ;
LocalDate localDate = LocalDate.parse( input , f ) ;
DayOfWeek dow = localDate.getDayOfWeek() ;
System.out.println( dow.toString() ) ;
看到这个code run live at IdeOne.com。
星期二
在实际工作中,使用DayOfWeek::getDisplayName 获取本地化的星期几的文本。
java.time.LocalDate
.of( 2020 , 11 , 17 )
.getDayOfWeek()
.getDisplayName(
TextStyle.FULL_STANDALONE ,
Locale.CANADA_FRENCH
)
看到这个code run live at IdeOne.com。
狂欢
所有这些都在 Stack Overflow 上多次介绍过。搜索以了解更多信息。