2016-11-25 166 views
3

我想讓它比較一週中的某一天,如果是週末,然後執行一個操作(尚未實現),但如果我在今天的日期放置25/11/2016或明天26/11/2016的明天,它仍然只打印「WEEKDAY」。它沒有工作,我堅持:/確定日期是週日/週末java

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

你忘了'c1.get'你,如果:'c1.get(Calendar.DAY_OF_WEEK) == Calendar.UNDAY'不是'Calendar.DAY_OF_WEEK == Calendar.SUNDAY' –

+0

有些國家週末有所不同。也許你會發現我的方法[實現本地化的週末](http://time4j.net/javadoc-en/net/time4j/PlainDate.html#isWeekend-java.util.Locale-)有趣。 –

+0

請在發佈之前先搜索Stack Overflow。 –

回答

-1
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"); 
} 
6

在你忘了c1.get上週日的if語句。應該是這樣的:

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

你爲什麼發送布爾b和雙c?它從未使用過。

+0

對於我還沒有寫的方法,我想因爲它甚至沒有工作,但沒有任何要完成的計算的點 –

+0

好的,如果這個解決方案適合你。請upvote :) –

-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 
 
}