java - 使用日历确定是星期一、星期二还是

标签 java calendar

如果是周一、周二或周三,我想向前滚动 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) 的结果是否在 24 之间(包括),所以也许将你的条件更改为

if (MONDAY <= gc.get(DAY_OF_WEEK) && gc.get(DAY_OF_WEEK) <= WEDNESDAY) {

记住,过早的优化是万恶之源。专注于为人类编写代码。

关于java - 使用日历确定是星期一、星期二还是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390926/

相关文章:

java - 为什么子流程的输出顺序错误?

java - 使用AOP的自定义注解传递方法参数

javascript - JS - 月份日期,按周分组。

c# - 如何从我的日历中删除所有面板?

java - Maven 创建不正确的 list 文件,jar 文件不可执行,因为未指定主类

java - 为什么我们需要创建原生查询?

java - 如何在 Android studio 中压缩 Kotlin 项目

Java Calendar.getTimeInMillis

php - iCalendar 夏令时

calendar - Liferay:在列表页面中显示日历事件的相关资源