saf*_*ari 19 java error-handling android calendar dayofweek
我正在尝试创建一个方法,检查"今天"是否在星期一到星期五之间.对于这一点,我'int day = Calendar.DAY_OF_WEEK;' 在实际的这一天得到这条线.之后我用日期(星期一,星期二,星期四,星期四和星期五)填写一个ArrayList.现在,当我检查实际的一天是否在我的ArrayList中时,我设置了boolean DAY = true其他我设置boolean DAY = false.我今天和昨天尝试了这个方法,但它始终将布尔值设置为false.
我需要更改我的代码有什么用?你会在这里找到代码.
码
int day = Calendar.DAY_OF_WEEK;
ArrayList<Integer> daylist = new ArrayList<Integer>();
daylist.add(Calendar.MONDAY);
daylist.add(Calendar.TUESDAY);
daylist.add(Calendar.WEDNESDAY);
daylist.add(Calendar.THURSDAY);
daylist.add(Calendar.FRIDAY);
if (daylist.contains(day)){
DAY = true;
}else{
DAY = false;
}
Run Code Online (Sandbox Code Playgroud)
pax*_*blo 52
哇,这就像试图用热核弹头杀死一只蚊子:-)
Java 保证(在1.5中)(至少保持不变为1.8),SUNDAY通过的值SATURDAY是连续的(1到7),因此检查范围很简单.
但是,DAY_OF_WEEK是不是一周的日子,这是一个场号(与值7)传递到吸气剂,以恢复一周的一天.唯一一次Calendar.DAY_OF_WEEK与实际日相匹配的时间是周六.
您可以使用以下代码:
Calendar myDate = Calendar.getInstance(); // set this up however you need it.
int dow = myDate.get (Calendar.DAY_OF_WEEK);
boolean isWeekday = ((dow >= Calendar.MONDAY) && (dow <= Calendar.FRIDAY));
Run Code Online (Sandbox Code Playgroud)
在此之后,isWeekday当且仅当myDate周一至周五包括在内时,将是真实的.
int day = Calendar.DAY_OF_WEEK; 应该是
Calendar cal; // The calendar object
....your other code for getting the date goes here....
int day = cal.get(Calendar.DAY_OF_WEEK);
Run Code Online (Sandbox Code Playgroud)
您当前的代码只获取常量的值Calendar.DAY_OF_WEEK.
| 归档时间: |
|
| 查看次数: |
75620 次 |
| 最近记录: |