本文目錄一覽:
- 1、java 獲取當前日期是多少周
- 2、java通過本月第幾周怎麼找本周的其實日期和截止日期?
- 3、java如何得到指定日期月的第幾周?按每年的1號為第一周開始算。
- 4、Java根據日期得到當月第幾周
- 5、Java日期操作問題,傳入一個日期返回這個日期所在月的第幾周,具體要求如下:
- 6、java 如何獲取 一個月 有多少周
java 獲取當前日期是多少周
使用Calendar類
/**Calendar類中的.get(Calendar.DAY_OF_WEEK)可以獲取當前日期是星期幾
* 獲取當前日期是星期幾br
*
* @param dt
* @return 當前日期是星期幾
*/
public static String getWeekOfDate(Date dt) {
String[] weekDays = {“星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”};
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
int w = cal.get(Calendar.DAY_OF_WEEK) – 1;
if (w 0)
w = 0;
return weekDays[w];
}
java通過本月第幾周怎麼找本周的其實日期和截止日期?
使用 Calendar.add(int, int) 往前找到周的開始
同樣,再往後找到周的結束
事實上,樓主都找到今天是周幾了,一加、一減就找到周開始、周結束了。
java如何得到指定日期月的第幾周?按每年的1號為第一周開始算。
你第一問需要思考一下,你第二問日曆類直接get即可!
第一問:
年末與年初進行周與周重疊的時候,獲取的是第二年的第一周數字,這個時候其實很簡單,因為月份是絕對不相同的對不?
直接判斷月份即可,頭年月份肯定不會第二年月份想等,在同時判斷一下,周是否為1,條件同時達到,就疊加52即可!
截個圖,你參照日曆看一下,分毫不差:
Java根據日期得到當月第幾周
Calendar c_begin = Calendar.getInstance();
Calendar c_end = Calendar.getInstance();
c_begin.set(2010, 3, 1); //Calendar的月從0-11,所以4月是3.
c_end.set(2010, 4, 20); //Calendar的月從0-11,所以5月是4.
int count = 0;
while(c_begin.before(c_end)){
//System.out.println(new java.sql.Date(c_begin.getTime().getTime()));
if(c_begin.get(Calendar.DAY_OF_WEEK)==Calendar.MONDAY){
count++;
}
if(count == 2){
System.out.println(c_begin.get(Calendar.YEAR)+”年”+(c_begin.get(Calendar.MONTH)+1)+”月”+c_begin.get(Calendar.DATE)+”日”);
break;
}
c_begin.add(Calendar.DAY_OF_YEAR, 1);
}
可以這樣試試,應該能理解吧。如有不懂再問我
Java日期操作問題,傳入一個日期返回這個日期所在月的第幾周,具體要求如下:
import java.util.Calendar;
import java.util.Date;
public class test {
public static String getWeekOfMonth(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//外國月份為0-11所以月份加一
int month = cal.get(Calendar.MONTH)+1;
int mweek = cal.get(Calendar.WEEK_OF_MONTH);
String d = month+”第”+mweek+”周”;
return d;
}
public static void main(String[] args) {
System.out.println(getWeekOfMonth(new Date()));
}
}
java 如何獲取 一個月 有多少周
你說需要計算一個月有多少周,若是指,一月,二月一直到十二月每個月有多少周的話,可以用Java8的新時間API進行計算,因為裡面已經封裝了每個月了,但由於每一年每個月的周數可能不同,所以必須還需要一個日期,也就是年,因此得到某年某月的某個時間,就可以相應算出這個時間所在月的第一天和最後一天,然後計算這第一天和最後一天相隔多少個周
思路:
獲取所有月份的枚舉集合A
隨意獲取一個時間B
循環所有的月份A,把B的月份依次修改為A中的每個月份,得到修改後的時間集合C
循環C中的所有時間,把每個時間都算出該時間的所在月份的第一天和最後一天,並計算周數
列印周數
代碼:
// 隨意取一個時間,取了當前時間
LocalDate localDate = LocalDate.now();
System.out.println(“當前時間為:” + localDate);
// 根據封裝好的月份獲取一個一月到十二月的Month流,此時流里的對象為Month
Arrays.stream(Month.values())
// 把每個month都調整到當前這個時間裡,此時流的對象為LocalDate
.map(month – month.adjustInto(localDate))
// 這裡方便里觀察此時流的數據,把轉換後的時間列印了出來
.peek(System.out::println)
// 根據時間的所在月的第一天和最後一天作為間隔計算周數
.map(temporal – ChronoUnit.WEEKS.between(temporal.with(TemporalAdjusters.firstDayOfMonth()), temporal.with(TemporalAdjusters.lastDayOfMonth())))
// 列印最後的周數
.forEach(System.out::println);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/235624.html