var getDayEveryDay = function(year, index) {
var d = new Date(year, 0, 1);
while (d.getDay() != 1) {
d.setDate(d.getDate() + 1);
}
var to = new Date(year + 1, 0, 1);
var i = 1;
var arr = [];
for (var from = d; from < to;) {
if (i == index) {
arr.push(from.getFullYear() + "-" + (from.getMonth() + 1) + "-" + from.getDate());
}
var j = 6;
while (j > 0) {
from.setDate(from.getDate() + 1);
if (i == index) {
arr.push(from.getFullYear() + "-" + (from.getMonth() + 1) + "-" + from.getDate());
}
j--;
}
if (i == index) {
return arr;
}
from.setDate(from.getDate() + 1);
i++;
}
}
function getYearWeekRange(year,weekNum){
var date=null;
var year=year;
var month=null;
var day=null;
var d=null;
if(weekNum==null||weekNum==""){
date=new Date();
year=date.getFullYear();
month=date.getMonth()+1;
day=date.getDate();
var d=year+"-"+month+"-"+day;
}else{
var weekDay=getDayEveryDay(year,weekNum);
d=weekDay[0];
}
console.log(d);
var yearMonthDay=d.split("-");
if(weekNum==null||weekNum==""){
weekNum=getWeekNumber(yearMonthDay[0], yearMonthDay[1], yearMonthDay[2]);
}else{
weekNum=weekNum;
}
var weekRange=getDateRange(d);
weekRange[0]=GetDateStr(0, weekRange[0]);
weekRange[1]=GetDateStr(0, weekRange[1]);
return [year,weekNum,weekRange[0],weekRange[1]];
}
function GetDateStr(AddDayCount,date) {
var dd = new Date(date);
dd.setDate(dd.getDate()+AddDayCount);
var y = dd.getFullYear();
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();
return y+"-"+m+"-"+d;
}
function getDateRange(datevalue){
var dateValue = datevalue;
var arr = dateValue.split("-")
var date = new Date(arr[0],arr[1]-1,arr[2]);
var dateOfWeek = date.getDay();
console.log(dateOfWeek);
var dateOfWeekInt = parseInt(dateOfWeek,10);
if(dateOfWeekInt==0){
dateOfWeekInt=7;
}
var aa = 7-dateOfWeekInt;
var temp2 = parseInt(arr[2],10);
var sunDay = temp2+aa;
var monDay = sunDay-6
var startDate = new Date(arr[0],arr[1]-1,monDay);
var endDate = new Date(arr[0],arr[1]-1,sunDay);
var sm = parseInt(startDate.getMonth())+1;
var em = parseInt(endDate.getMonth())+1;
var start = startDate.getFullYear()+"-"+sm+"-"+startDate.getDate();
var end = endDate.getFullYear()+"-"+em+"-"+endDate.getDate();
var result = new Array();
result.push(start);
result.push(end);
return result;
}
function getWeekOfYear(){
var today = new Date();
var firstDay = new Date(today.getFullYear(),0, 1);
var dayOfWeek = firstDay.getDay();
var spendDay= 1;
if (dayOfWeek !=0) {
spendDay=7-dayOfWeek+1;
}
firstDay = new Date(today.getFullYear(),0, 1+spendDay);
var d =Math.ceil((today.valueOf()- firstDay.valueOf())/ 86400000);
var result =Math.ceil(d/7);
return result;
};
function getNumOfWeeks(year) {
var startDateOfYear = new Date(year, 0, 1);
var daysOfYear = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? 366 : 365;
var weekNum = 52;
if (startDateOfYear.getDay() == 0 || daysOfYear == 366) {
weekNum = 53;
}
return weekNum;
}
var date=null;
var year=year;
var month=null;
var day=null;
date=new Date();
year=date.getFullYear();
month=date.getMonth()+1;
day=date.getDate();
var thisd=year+"-"+month+"-"+day;
var weeks = getWeekOfYear();
console.log("当前第几周weeks:"+weeks);
var rt = getDateRange("2022-01-03");
console.log("日期范围:"+rt);
var ss = getYearWeekRange(2022,1)
console.log("指定日期信息:"+ss);
function theWeek() {
var totalDays = 0;
now = new Date();
years = now.getYear()
if (years < 1000)
years += 1900
var days = new Array(12);
days[0] = 31;
days[2] = 31;
days[3] = 30;
days[4] = 31;
days[5] = 30;
days[6] = 31;
days[7] = 31;
days[8] = 30;
days[9] = 31;
days[10] = 30;
days[11] = 31;
if (Math.round(now.getYear() / 4) == now.getYear() / 4) {
days[1] = 29
} else {
days[1] = 28
}
if (now.getMonth() == 0) {
totalDays = totalDays + now.getDate();
} else {
var curMonth = now.getMonth();
for (var count = 1; count <= curMonth; count++) {
totalDays = totalDays + days[count - 1];
}
totalDays = totalDays + now.getDate();
}
var week = Math.round(totalDays / 7);
return week;
}
console.log("ooo:"+theWeek());
function getDate(year) {
var first = new Date(year,0,1).getDay()
if((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
var allyears = 366
}else {
var allyears = 365
}
var week = parseInt((allyears + first) / 7)
if(((allyears + first) % 7) != 0) {
week += 1
}
return week
}
console.log("ooo:"+getDate(2028));
console