在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 源生js,給出起止日期之后的判斷問題?

源生js,給出起止日期之后的判斷問題?

拿到一個(gè)星期時(shí)段,固定為7天,且固定為周一到周日。
假設(shè)開始時(shí)間為:2017-11-27 ,結(jié)束時(shí)間為:2017-12-03,這一周是跨月的。
若在本月(也就是12月份)的這幾天轉(zhuǎn)換成星期幾,然后文字加粗或變色特殊顯示,讓上個(gè)月(也就是11月份)的日期也轉(zhuǎn)換成星期幾,字體顏色變灰顯示。
如何操作?越詳細(xì)越好
試了一下,每當(dāng)拿到的這個(gè)星期跨月的時(shí)候就出錯(cuò)。
求高人指點(diǎn)。。。
本人小白,問題可能過于簡(jiǎn)單、弱智。還望大家奪包涵,別嫌棄。

回答
編輯回答
青黛色

getDay可以獲取周幾的。

new Date('2017-11-27').getDay(); // 1.周一 (返回0~6,也就是周日開始到周六); 

至于是不是本月可以判斷嘛

var isCurrMonth = new Date().getMonth() === new Date('2017-XX-XX').getMonth();

這個(gè) isCurrMonth就是判斷結(jié)果

2018年5月8日 03:40
編輯回答
墨染殤

假如拿到結(jié)束時(shí)間,則開始日期計(jì)算為結(jié)束日期減7,如果結(jié)果大于0,則開始日期就是結(jié)束日期 + 1 - 7,也可以確定是同一個(gè)月,如果結(jié)果小于等于0,如結(jié)束12-03結(jié)果為-4,則判斷上個(gè)月天數(shù),最終開始日期為上月(30)30 + 1 - 4 27號(hào),然后拿到這幾個(gè)日期比較,大于結(jié)束日期的都為上個(gè)月的,小于結(jié)束日期的為這個(gè)月的。如果開始結(jié)束日期都知道那更簡(jiǎn)單了,這7天里比結(jié)束日期大的都是上個(gè)月,小的是這個(gè)月。

2017年11月15日 00:32
編輯回答
舊城人

直接上代碼,demo鏈接描述

let dateStart = new Date("2017-11-27");
let dateNow = new Date();
let year = dateNow.getFullYear();
let month = dateNow.getMonth();

let week = ['日', '一', '二', '三', '四', '五', '六']
for (let i = 0; i < 7; i++) {
  let tmpYear = dateStart.getFullYear();
  let tmpMonth = dateStart.getMonth();
  
  // 判斷日期是否在當(dāng)前月份
  let currentMon = (tmpYear === year && tmpMonth === month);


  let dom = document.createElement('span');
  dom.className = currentMon ? 'currentMon' : 'otherMon';
  dom.innerHTML = week[dateStart.getDay()];
  document.body.appendChild(dom);
  
  // 日期加一天
  dateStart.setDate(dateStart.getDate() + 1);
}
span {
  padding: 8px 16px;
}

.currentMon {
  color: blue;
  font-weight: bold;
}

.otherMon {
  color: gray;
}
2018年4月25日 09:40