确定日期是工作日/周末java

时间:2016-11-25 12:16:46

标签: java date calendar

我试图让它比较一周的哪一天以及是否是一个周末然后执行一个动作(尚未实施)但是如果我放入今天的日期25/11/2016或明天这是一个2016年11月26日星期六,它仍然只打印“WEEKDAY”。它没有用,我被卡住了:/

public static void calcDatePrice(String a, boolean b, double c){
    System.out.println("CALC PRICE METHOD: " + a);
    Double price;
    Date d1 = new Date(a);

    Calendar c1 = Calendar.getInstance();
    c1.setTime(d1);
    System.out.println(c1.get(Calendar.DAY_OF_WEEK));

    if ((c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) 
            || (Calendar.DAY_OF_WEEK == Calendar.SUNDAY)) {  //or sunday   
    System.out.println("WEEKEND PRICE");
    }else {
    System.out.println("WEEKDAY");
    }
}

3 个答案:

答案 0 :(得分:10)

在你的if语句中,你忘记了周日的c1.get。应该是这样的:

if (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || 
    c1.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)

另外为什么要发送布尔值b和双c?它从未使用过。

答案 1 :(得分:0)

if ((c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)  || (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)) { 
    System.out.println("WEEKEND PRICE");
} else {
    System.out.println("WEEKDAY");
}

答案 2 :(得分:-2)

您可以使用calender.DayofWeek方法查找它是哪一天

Calendar cl = Calendar.getInstance();
c1.setTime(Enter Yor Date);
int day = c.get(Calendar.DAY_OF_WEEK);
if(check day value is 5 or 6)
  {
   // Weekend Coding
  }
Else
{
  // Weekday Coding
}