getWeeks獲取當前月自然週數

2022-06-27 20:24:15 字數 1336 閱讀 6728

**:

/*

* * 獲取當前月自然週數,並返回每週開始日期和每週結束日期

* @param date 2013-9 : 1-1,2-8,9-15,16-22,23-29,30-30

* @return

* @throws exception

*/public

static

string getweeks(string date)

catch

(parseexception e)

calendar calendar = new

gregoriancalendar();

calendar.settime(date1);

int days =calendar.getactualmaximum(calendar.day_of_month);

int count = 0

;

for (int i = 1; i <= days; i++)

catch

(parseexception e)

calendar.clear();

calendar.settime(date2);

int k = new integer(calendar.get

(calendar.day_of_week));

int startday = 0

;

int endday = 0

;

//若當天是週日

if (k == 1

) else

endday =i;

}//若是本月最好一天,且不是週日

if (k != 1 && i ==days)

if(startday != 0 && endday != 0

)else}}

system.

out.println(date + "

共計" + count + "

周,結果=

" +sb.tostring());

return

sb.tostring();

}

輸出:

getweeks("2013-9");

getweeks("2019-08");

2013-9共計6周,結果=1-1,2-8,9-15,16-22,23-29,30-30

2019-08共計5周,結果=1-4,5-11,12-18,19-25,26-31

ps(吐槽):

奇葩方法**於奇葩需求,奇葩需求**於奇葩業務!!

php獲取自然周 自然月的處理

取得當前時間的上一周時間用date y m d strtotime 1 week 沒有問題,因為每週時間固定為7天。如果當前日期為2016 5 31,用date y m d strtotime 1 month 會產生錯誤。因為這裡把 1 month按照 30 days來算 date y m d st...

java獲取當前周,季度,月

1,獲取當前周 date date new date dateformat format new dateformat yyyy mm dd 格式化當前日期 try catch parseexception e calendar calendar calendar.getinstance calen...

獲取當前月的總天數

簡單記錄一下 dateobject.setmonth month,day 設定month按照實際月份設定的時候其實是往前加了乙個月。設定day為0其實是設定為了上乙個月的最後一天 所以一加一減下來就相當於是設定為當前月份的最後一天 const curdate newdate const curmon...