1.jquery
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#getWeek").click(function(){
var now =new Date();
var week = getWeekNumber(now);
alert("今天是第"+week+"周");
});
});
function getWeekNumber(src) {
const date = new Date(src.getTime());
date.setHours(0, 0, 0, 0);
// Thursday in current week decides the year.
date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);
// January 4 is always in week 1.
const week1 = new Date(date.getFullYear(), 0, 4);
// Adjust to Thursday in week 1 and count number of weeks from date to week 1.
// Rounding should be fine for Daylight Saving Time. Its shift should never be more than 12 hours.
return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);
}
</script>
</head>
<body>
<p id="getWeek">获取当天是第几周</p>
</body>
</html>
2.java
public static void main(String[] args) {
String week = "8";
getWeek1(week);//传入8,表示要获取第八周是几号到几号
}
import java.util.Calendar;
import java.text.SimpleDateFormat;
public synchronized String getWeek1(String weekS){
String returnStart = "";
String returnEnd = "";
String[] weekSplit = weekS.split(",");
String startW = weekSplit[0];
String endW = weekSplit[weekSplit.length-1];
//System.out.println("开始周--"+startW+"--结束周--"+endW);
String currentWeek = "";
int week = Integer.parseInt(startW);
System.out.println(week);
Calendar calendar = Calendar.getInstance();
//int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR)-1;
calendar.setWeekDate(2023, week, 1);
Date starttime = calendar.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStart = simpleDateFormat.format(starttime);
//System.out.println("dateStart=="+dateStart);
calendar.setWeekDate(2023, week, 7);
Date endtime = calendar.getTime();
String endStart = simpleDateFormat.format(endtime);
//System.out.println("endStart=="+endStart);
calendar.setTime(starttime);
calendar.add(Calendar.DAY_OF_MONTH,1);
Date getS = calendar.getTime();
String stime = simpleDateFormat.format(getS);
calendar.setTime(endtime);
calendar.add(Calendar.DAY_OF_MONTH,1);
Date getE = calendar.getTime();
String etime = simpleDateFormat.format(getE);
//System.out.println("开始=="+stime+"-----结束=="+etime);
returnStart = stime;
//结束周
int week1 = Integer.parseInt(endW);
System.out.println(week1);
Calendar calendar1 = Calendar.getInstance();
//int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR)-1;
calendar1.setWeekDate(2023, week1, 1);
Date starttime1 = calendar1.getTime();
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
String dateStart1 = simpleDateFormat1.format(starttime1);
//System.out.println("dateStart1=="+dateStart1);
calendar1.setWeekDate(2023, week1, 7);
Date endtime1 = calendar1.getTime();
String endStart1 = simpleDateFormat1.format(endtime1);
//System.out.println("endStart1=="+endStart1);
calendar1.setTime(starttime1);
calendar1.add(Calendar.DAY_OF_MONTH,1);
Date getS1 = calendar1.getTime();
String stime1 = simpleDateFormat1.format(getS1);
calendar1.setTime(endtime1);
calendar1.add(Calendar.DAY_OF_MONTH,1);
Date getE1 = calendar1.getTime();
String etime1 = simpleDateFormat1.format(getE1);
//System.out.println("开始=="+stime1+"-----结束=="+etime1);
returnEnd = etime1;
currentWeek = returnStart+"~"+returnEnd;
//System.out.println("周结果--"+currentWeek);
return currentWeek;
}