1. js點擊上一周獲取上N周的日期和對應的星期,擊下一周獲取下N周的日期和對應的星期
<!doctypehtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>Document</title>
<style>
td{
:1pxsolid;
}
button{
margin:5px;
}
</style>
<script>
window.onload=function(){
varcells=document.getElementById('monitor').getElementsByTagName('td');
varclen=cells.length;
varcurrentFirstDate;
varformatDate=function(date){
varyear=date.getFullYear()+'年';
varmonth=(date.getMonth()+1)+'月';
varday=date.getDate()+'日';
varweek='('+['星期天','星期一','星期二','星期三','星期四','星期五','星期六'][date.getDay()]+')';
returnyear+month+day+''+week;
};
varaddDate=function(date,n){
date.setDate(date.getDate()+n);
returndate;
};
varsetDate=function(date){
varweek=date.getDay()-1;
date=addDate(date,week*-1);
currentFirstDate=newDate(date);
for(vari=0;i<clen;i++){
cells[i].innerHTML=formatDate(i==0?date:addDate(date,1));
}
};
document.getElementById('last-week').onclick=function(){
setDate(addDate(currentFirstDate,-7));
};
document.getElementById('next-week').onclick=function(){
setDate(addDate(currentFirstDate,7));
};
setDate(newDate());
}
</script>
</head>
<body>
<buttonid="last-week">上一周</button><buttonid="next-week">下一周</button>
<tableid="monitor">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
2. 直播app開發,JS 獲取當天、上周、本周,下周開始時間
直播app開發中,獲取當天、上周、本周以及下周開始時間是基本需求。開發者可以利用JavaScript實現這些功能,提高用戶體驗。以下步驟幫助你完成這些時間獲取。
首先,獲取當前日期。JavaScript提供了`Date`對象來處理日期和時間。通過`new Date()`創建一個日期對象,就可以輕松獲取當前日期。
其次,獲取上周開始時間。為了計算上周的開始時間,你需要減去當前周數的天數。JavaScript中的`Date.prototype.getDay()`方法返回當前日期是星期的數值(0表示周日,6表示周六)。通過減去6(或加1,根據實際情況),你可以獲得上周的開始日期。然後利用`Date.prototype.setDate()`方法調整日期。
接著,獲取本周開始時間。本周開始時間在JavaScript中通常被視為周日。因此,你需要找到當前日期是本周的哪一天(使用`getDay()`方法),然後減去剩餘天數以獲得本周的周日。同樣地,使用`setDate()`方法調整日期。
最後,獲取下周開始時間。這個步驟與獲取上周開始時間相似,但要加上7天。使用`setDate()`方法調整日期即可。
通過以上步驟,你可以利用JavaScript在直播app開發中輕松獲取當前、上周、本周以及下周的開始時間。開發者可以根據具體需求進一步擴展這些功能,以滿足不同場景下的時間管理需求。希望這些信息對你的開發工作有所幫助。
3. 關於JS編寫日歷疑問 1.為什麼當月總天數+當月一號周幾取整=日歷的行數 2.圖片中id和td的公式
1.
為什麼當月總天數+當月一號周幾取整=日歷的行數
根據你提的意思就可以算出:假設當內月30天,月初星期五,那麼容如果從30天原本只需要5行就可以搞定,但是第一行確實從星期五開始的,那麼就相當於多出了5天,因為原本月初應該是從第一個開始的。
2. 公式
var id = i * 7 +1;
這個是得到的第幾個td 相當於一個序列號,比如
、
類似這樣的一個序號;
var td = id - weekOfFD + 1;// 這里就不太明白了,感覺應該是寫錯了。
應該是獲得上個月的天數,然後根據這個月一號是周幾,來判斷上個月還有幾天沒顯示完。
var num = 上個月天數 - 該月星期幾 - l + 1;
//如果num < 0 ,則從1 開始計算,
num = id - 該月星期幾 + 1; 也就是 var td = id - weekOfFD + 1;;//獲得該td的值。
4. js 獲取某年某月有幾周,以及每周的周一和周末是幾號到幾號
<script>
functiongetInfo(year,month){
vard=newDate();
//whatdayisfirstday
d.setFullYear(year,month-1,1);
varw1=d.getDay();
if(w1==0)w1=7;
//totaldayofmonth
d.setFullYear(year,month,0);
vardd=d.getDate();
//firstMonday
if(w1!=1)d1=7-w1+2;
elsed1=1;
week_count=Math.ceil((dd-d1+1)/7);
document.write(year+"年"+month+"月有"+week_count+"周<br/>");
for(vari=0;i<week_count;i++){
=d1+i*7;
varsunday=monday+6;
varfrom=year+"/"+month+"/"+monday;
varto;
if(sunday<=dd){
to=year+"/"+month+"/"+sunday;
}else{
d.setFullYear(year,month-1,sunday);
to=d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
}
document.write("第"+(i+1)+"周從"+from+"到"+to+"<br/>");
}
}
getInfo(2013,12);
</script>
5. js日期下拉框默認為本周周一的日期
vardate=newDate();
date.setDate(date.getDate()-date.getDay()+1);
$("#yearoption:contains("+date.getFullYear()+")").prop("selected",true);
$("#monthoption").eq(date.getMonth()+1).prop("selected",true);
$(#dayoption").eq(date.getDate()).prop("selected",true);
date.setDate(date.getDate()+7);
$("#year1option:contains("+date.getFullYear()+")").prop("selected",true);
$("#month1option").eq(date.getMonth()+1).prop("selected",true);
$(#day1option").eq(date.getDate()).prop("selected",true);
順便說一句:現在通常的做法(也是國際慣例),是把星期日作為一周的開始,而星期六則是周末,如果你想這么做,只需把第二行後面的+1去掉即可。
6. JS學校里怎麼計算本周是該年的第幾周
// 定義變數d為當年的1月1日0點
var d = new Date();
d.setFullYear(d.getFullYear(),0,1);
// 定義day為當年1月1日的星期數(0為星期天,1為星期1,6為星期6)
var day = d.getDay();
// 定義fistweekleft為第一周剩餘的天數,此處認為星期一是一周的第一天,如果將星期天定義為一周的第一天,請寫成fistweekleft = (6-day)%6
var fistweekleft = (7-day)%7;
// 將d賦值為第二周的第一天,1+fistweekleft號為第一周最後天,1+fistweekleft+1為第二周第一天
d.setFullYear(d.getFullYear(),0,1+fistweekleft+1);
// 定義變數d1為當天
var d1 = new Date();
// 當前時間與當年第二周第一天的毫秒數之差除以一周的毫秒數並取整即為當前日期距本的第二周已過的周數
// 結果加上2即為當天為本年的第幾周(如果在一周的第一天的0點運行此程序,結果會比實際值大1,此種情況請自行處理)
alert(2+parseInt((d1.getTime()-d.getTime())/1000/60/60/24/7));
7. js獲取當前日期,然後根據當前日期獲取到上周周一跟周五的日期,並格式化日期yyyy-MM-dd
獲取 日期 時間 星期幾
var d = new Date();
var datestr = "今天是: " +d.getFullYear() + "-" +(d.getMonth()+1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds() + " 星期"+"日一二三四五六".charAt(d.getDay())
// 判斷閏年
Date.prototype.isLeapYear = function()
{
return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));
}
// 日期格式化
// 格式 YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/DD/d/D 日期
// hh/HH/h/H 時間
// mm/m 分鍾
// ss/SS/s/S 秒
//---------------------------------------------------
Date.prototype.Format = function(formatStr)
{
var str = formatStr;
var Week = ['日','一','二','三','四','五','六'];
str=str.replace(/yyyy|YYYY/,this.getFullYear());
str=str.replace(/yy|YY/,(this.getYear() % 100)>9 (this.getYear() % 100).toString():'0' + (this.getYear() % 100));
.......