如果是周一、周二或周三,我想向前滚动 2 天;如果是周四或周五,我想向前滚动 2 天。但我对逻辑公式有疑问。看起来 Java 程序员没有正确设置最终值。无论一周中的哪一天,第一个陈述似乎总是正确的。
import static java.util.Calendar.*;
import java.util.GregorianCalendar;
public class Demo {
public static void main(String[] args) {
GregorianCalendar gc = new GregorianCalendar();
gc.roll(DAY_OF_WEEK, 2);
if((gc.get(DAY_OF_WEEK) & (MONDAY | TUESDAY | WEDNESDAY)) == gc.get(DAY_OF_WEEK)){
System.out.println("it is monday or tuesday or wednesday");
gc.roll(DAY_OF_WEEK, 2);
}else{
System.out.println("other day");
}
}
}
最佳答案
星期几代表值
SUNDAY = 1;
MONDAY = 2;
TUESDAY = 3;
WEDNESDAY = 4;
THURSDAY = 5;
FRIDAY = 6;
SATURDAY = 7;
所以您需要做的就是检查 gc.get(DAY_OF_WEEK)
的结果是否在 2
和 4
之间(包括),所以也许将你的条件更改为
if (MONDAY <= gc.get(DAY_OF_WEEK) && gc.get(DAY_OF_WEEK) <= WEDNESDAY) {
记住,过早的优化是万恶之源。专注于为人类编写代码。
关于java - 使用日历确定是星期一、星期二还是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390926/