添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
 <span style="color:#000000;">year = parseInt(year);
	    month = parseInt(month);
	    day = parseInt(day);
	    var days = 0;  //表示该日期为当年的第几天  
	    //根据月累加天数 计算当前日期为年的第几天  
	    for(var i = 1; i < month; i++ ){  
			    switch(i){  
			    		//大月的情况加31  
					    case 1:  
					    case 3:  
					    case 5:  
					    case 7:  
					    case 8:  
					    case 10:  
					    case 12:{  
							    days += 31;  
							    break;  
					    //小月的情况加30  
					    case 4:  
					    case 6:  
					    case 9:  
					    case 11:{  
						    	days += 30;  
						    	break;  
					    //二月的情况,闰年+29  平年28
					    case 2:{ 
					    	if((year%4==0 && year%100!=0)||(year%100==0 && year%400==0)){
					        	days += 29; //闰年加29  
					        else {  
					        	days += 28;  
					        break;  
	    day = day * 1;  
	    days += day; 
	    var date0 = new Date(year,0,1);   //当年的第一当年
	    var oneDayWeek = date0.getDay()==0?7:date0.getDay();//当年的第一天是周几
	    //每年第一个周按1月1号所在周计算   计算第一个周有几天
	    var oneWeekDay = 7-oneDayWeek+1; 
	    //除去第一周省下的天数;
	    var shengdays = days - oneWeekDay;
	    var nthOfWeek = Math.ceil(shengdays/7)+1;  //向上取整  
	    if(nthOfWeek>53){//最大按照53算 2012 31 有54  也是按照最后一个周计算
	       nthOfWeek = 53;
	    return nthOfWeek;</span>

js当前日期 向前推N周所在周一和周日

//向前推N周  返回结果数组 0:当前周所在日期(type:0 周的第一天  type1周的最后一天)    索引2:所在第几周      
 function getWeekBefore(num,type){
 	var returnArray = [];
 	var c_date = curDateTime();//当前日期
// 	var c_date = "2014-01-08";//当前日期
 	var dateArr = c_date.split("-");//拿到当前的 年、月
 	//当前日期所在周
 	var c_week = getWeekNumberByDate(dateArr[0],dateArr[1],dateArr[2]);
 	var date11 = new Date(dateArr[0],parseInt(dateArr[1])-1,dateArr[2]);
 	//当前日期所在周几?
	var c_DayWeek =  date11.getDay()==0?7:date11.getDay();//当前日期所在周几
	var year = parseInt(dateArr[0]);
	//当前1月1号所在周的天数和周几
	var date0 = new Date(year,0,1);   //当年的第一天年
	var oneDayWeek = date0.getDay()==0?7:date0.getDay();//当年的第一天是周几
	var oneWeekDay = 7-oneDayWeek+1; //当年第一周所在的天数
	//去年最后一周所在的天数
	var quyear = year-1;
	var date1 = new Date(quyear,11,31);   //去年的最后一天
	var quDayWeek = date1.getDay()==0?7:date1.getDay();//去年的最后一天的所在周几
	var quweek = getWeekNumberByDate(quyear,12,31);
 	//确定推N周所在的周数  判断是否存在跨年
	var chaw = c_week - num;
	//第一种情况  不跨年、不是第一周
	if(chaw>1){
		//计算推的天数
		var chday = c_DayWeek+(num-1)*7;
		returnArray[0]= getDayBefore(c_date,chday);
	}else if(chaw==1){//推到今年第一周
		returnArray[0] = year+"-01-01";
	}else if(chaw==0){//去年最后一周
		var quyear = year-1;
		returnArray[0] = quyear+"-12-31";
	}else if(chaw<0){//跨年了
		//先把今年推到头  第一周+本周+周-2*7
		var chday = 0;
		if(c_week!=1){
			chday = c_DayWeek+(num-2)*7+oneWeekDay;  //按照这个日期推  可以推到去年最后一天
		}else{
			chday = parseInt(dateArr[2]);  //按照这个日期推  可以推到去年最后一天
		//应该推到去年的所在周  去年最后一周的天数 再往前N-1周
		var chweekday = quDayWeek + (0-chaw-1)*7+chday;
		returnArray[0]= getDayBefore(c_date,chweekday);
	//需要返回的时间
	var returnDate = returnArray[0];
	var reArr0 = returnDate.split("-");//拿到当前的 年、月
	//本周第一天
	if(type==0){
		//是否是第一个月
		if(chaw==1){
			returnArray[0] = reArr0[0]+"-01-01";
		}else if(chaw==0){//是否是最后一个月
			//去年最后一周的周几
			var dayend = 31-parseInt(quDayWeek)+1;
			returnArray[0] = reArr0[0]+"-12-"+dayend;
		}else{//平常心
			var dayend = parseInt(reArr0[2])-6;
			dayend = dayend<10?"0"+dayend:dayend;
			returnArray[0] = reArr0[0]+"-"+reArr0[1]+"-"+dayend;
	}else if(type==1){
		if(chaw==1){
			var dayend = parseInt(oneWeekDay)<10?"0"+oneWeekDay:oneWeekDay;
			returnArray[0] = reArr0[0]+"-01-"+dayend;
	var reArr1 = returnArray[0].split("-");
	//拿到所在周
	returnArray[1] = getWeekNumberByDate(reArr1[0],reArr1[1],reArr1[2]);
 	return returnArray;
				
计算当前时间转化为数(满为52像element-Ui和ant-design的数选择组件都是这样的规定): 获取数格式为:"2020 第34" getYearWeek(date){ // date = formatTimebytype(date, 'yyyy-MM-dd');//将日期转换成yyyy-mm-dd格式 date = new Date(date); let date2 = new Date(date.getFullYear(), 0, 1); let day1 = date.
1.必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。 2.变量名区分大小写,如:A与a是两个不同变量。 3.不允许使用JavaScript关键字和保留字做变量名。 声明变量语法: var 变量名;   Var还可以一次声明多个变量,变量之间用","逗号隔开。 使用"="号给变量存
项目中有一个需求:需要根据学期时间动态的计算出该学期有多少 通过上网查找,找到了一个工具类moment.js moment.js是一个JavaScript日期处理类库,能够实现对日期的便捷操作 官网地址:Moment.js 环境: 需要有Node环境支持 首先需要安装moment工具包 npm install moment 然后引入刚才下载的工具包 import moment from "moment" 因为使用的地方比较少,所以是在使用的.vue文件中引入的,如果整个项目使用比较多,可以在main
偏移量(offset dimension) 偏移量:包括元素在屏幕上占用的所有可见空间,元素的可见大小由其高度,宽度决定,包括所有内边距,滚动条和边框大小(注意,不包括外边距)。 以下4个属性可以获取元素的偏移量 offsetHeight:元素在垂直方向上占用的空间大小,以像素计。包括元素的高度(可见的),水平滚动条的高度,上边框高度和下边框高度。 offsetWidth:元素在水平方向上占用的空间大小,以像素计。包括元素的宽度(可见的),垂直滚动条的宽度,左边框宽度和右边框宽度。 3: off
let currYear = date.getFullYear(); let currMonth = date.getMonth(); let currWeekDay = date.getDate(); let currDate = date.getDay(); let weekStartDate = new Date( currY
const date = new Date() for(var i=0;i<7;i++){ let newDate=new Date(date.getTime()+i*1000*60*60*24) let year=newDate.getFullYear() let month=(parseInt(newDate.getMonth())+1)>9?(parseInt(newDate.getMonth())+1):"0"+(parseIn
1、每年的第一个周一周日算作一,以此类 2、第一个周一之前的一大于等于4天算作当前年的第一,否则算做去年的最后一,第一个周一周日将会作为第二开始计数,并且当前年无第一 3、每年的最后一整后的一如果大于等于4天算做第最后一,否则不算 let weeks = []; for (let i = 1970; i <= 2060; i++) { let year = i; let date = new Date(`${year}-1-1`);