2013-11-02 147 views
0

我需要使用日曆創建日期,在此日期中指定月份,星期數和星期幾。 我創建日曆的新實例: **如何使用日曆創建日期

Calendar c = Calendar.getInstance(); 
c.set(Calendar.DAY_OF_WEEK,7); 
c.set(Calendar.WEEK_OF_MONTH,1); 
c.set(Calendar.MONTH,10); 

** 調用c.getTime時(); 而不是得到11月的第一個星期六我得到十月的最後一個星期六?

+0

請修復您的變量名稱,除非這不是'java.util.Calendar'。你也期待什麼,你會得到什麼? –

+0

現在你改變你所有的價值... –

+0

我必須指定一週的第一天 – primeFaceUser

回答

1

DAY_OF_WEEK是星期日到星期六。值7表示SATURDAY。該WEEK_OF_MONTH是獲取和設置指示 當前月中的星期數

場數。本月的第一週,如 getFirstDayOfWeek()和getMinimalDaysInFirstWeek()所定義,值爲1. 子類定義了月的第一週的第一週 之前幾天的WEEK_OF_MONTH的值。

MONTH數字從0開始,因此10是11月。你沒有指定一年,所以它使用當前年份。

十一月的第一週週六適逢

Sat Nov 02 11:19:24 EDT 2013 

還有什麼是你期待?十月?將MONTH的值更改爲9

+0

不,我需要在十一月的第一個星期六,但我得到了十月的最後一個星期六。 – primeFaceUser

+0

@primeFaceUser停止尖叫。你現在的代碼給出了11月的第一個星期六。 –

+0

但它是在10月26日返回,這是我的問題,我需要解決這個不尋常的問題。 – primeFaceUser

0

試試這個

c.set(2000, 7, 4); // YYYY M D 

    // print the result 
    System.out.println("Altered date is :" + cal.getTime()); 
1

您需要更正日曆常量的值。請參考下面的代碼,它工作正常。 請記住日曆中的月份值以0和1開始,即月份爲0,意味着月份爲1月份

Calendar c = Calendar.getInstance(); 
    c.set(Calendar.DAY_OF_WEEK,4); 
    c.set(Calendar.WEEK_OF_MONTH,4); 
    c.set(Calendar.MONTH,7); 
相關問題