【发布时间】:2011-09-23 03:25:51
【问题描述】:
我有一个日期,我需要知道星期几,所以我使用了一个 GregorianCalendar 对象,但我得到了一些不正确的日期。
GregorianCalendar calendar = new GregorianCalendar(year, month, day);
int i = calendar.get(Calendar.DAY_OF_WEEK);
我做错了什么?
谢谢!
编辑解决方案:
mont--;
GregorianCalendar calendar = new GregorianCalendar(year, month, day);
int i = calendar.get(Calendar.DAY_OF_WEEK);
if(i == 2){
dayOfTheWeek = "Mon";
} else if (i==3){
dayOfTheWeek = "Tue";
} else if (i==4){
dayOfTheWeek = "Wed";
} else if (i==5){
dayOfTheWeek = "Thu";
} else if (i==6){
dayOfTheWeek = "Fri";
} else if (i==7){
dayOfTheWeek = "Sat";
} else if (i==1){
dayOfTheWeek = "Sun";
}
【问题讨论】:
-
它是否返回默认值(大概是 0 或 1)而不是您期望的值?向我们展示您拥有什么以及您想要什么。
-
当你设置月份时,值应该是(真正的月份 - 1)。例如)3 月 -> 1 月 2 日 -> 12 月 0 日 -> 11。您是否设置了正确的月份值?
-
kingori 谢谢!这就是问题所在:)
-
我不得不说这不是语言环境证明。另外,今天是星期五,而不是星期五。
-
顺便说一下,对于非 Android,在 Java 8 及更高版本中使用 java.time 类,例如
DayOfWeekenum:DayOfWeek.TUESDAY.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) );
标签: android date calendar gregorian-calendar