[英]Get day of week not working with Calendar
我有日歷問題我想顯示星期幾的名稱取決於哪一天。 三月份,下一個代碼運行良好
Calendar cc;
cc = Calendar.getInstance();
cc.set(year, month, day);
String descriptionDay="";
switch (cc.get(Calendar.DAY_OF_WEEK)){
case 1:{
descriptionDay= "Thursday";
break;
}
case 2:{
descriptionDay= "Friday";
break;
}
case 3:{
descriptionDay= "Saturday";
break;
}
case 4:{
descriptionDay= "Sunday";
break;
}
case 5:{
descriptionDay= "Monday";
break;
}
case 6:{
descriptionDay= "Tuesday";
break;
}
case 7:{
descriptionDay= "Wednesday";
break;
}
}
4月份,周的名稱顯示不正確,而calendar.DAY_OF_WEEK則返回不同的索引號我的錯誤是什么? 來人幫幫我? 謝謝
您應該使用Calendar
的數字常量(並且您不需要所有這些塊)。 就像是,
switch (cc.get(Calendar.DAY_OF_WEEK)){
case Calendar.THURSDAY:
descriptionDay= "Thursday";
break;
case Calendar.FRIDAY:
descriptionDay= "Friday";
break;
case Calendar.SATURDAY:
descriptionDay= "Saturday";
break;
case Calendar.SUNDAY:
descriptionDay= "Sunday";
break;
case Calendar.MONDAY:
descriptionDay= "Monday";
break;
case Calendar.TUESDAY:
descriptionDay= "Tuesday";
break;
case Calendar.WEDNESDAY:
descriptionDay= "Wednesday";
break;
}
}
由於開關盒完全錯誤,你的日歷無法正常工作......周一永遠不會是一周的第5天,例如......
你需要在日歷類中使用相同的常量......它們適合你......
switch (cc.get(Calendar.DAY_OF_WEEK)){
case Calendar.SUNDAY:
descriptionDay= "Calendar.SUNDAY";
break;
..........
ETC ETC
default:
descriptionDay="";
}
並始終在switch語句中使用默認情況,這是一個很好的做法...
在舊日歷中,完整的工作日可以得到:
System.out.printf("Today is %s%n",
new SimpleDateFormat("EEEE", Locale.GERMANY)
.format(Calendar.getInstance(Locale.GERMANY).getTime()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.