国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS獲取今天是本月第幾周、本月共幾周、本月有多少天、是今年

2024-05-06 15:27:31
字體:
來源:轉載
供稿:網友

好久沒有記錄工作中遇到的問題,其中的原因之一應該是沒有什么代表性的或者說是沒有網上搜不到答案的,畢竟在大多數前端中我還是很渺小。今天寫這個博客就是因為工作中遇到了問題而且網上也沒有找到合適的答案,自己寫了大部分代碼加上借鑒了一些別人的思想,下面就步入正題:

—更新:2018-6-20 加上今天是不是周日的判斷

—更新:2018-7-31 給String添加方法來實現調用,感謝Rainbow_miao的提醒。github地址:https://github.com/zancheng/weekCalculation

JS源碼

判斷規則

第一周 : 是這個月的新一周,且不在上個月最后一周內。

// 獲取某年某月的有多少周String.prototype.weekInMonthCount = function () {  var date = new Date((new Date(this).setDate(1)) || (new Date()).setDate(1));  var firstWeekDate = 1;// 默認第一周是本月1號 為了模擬本月1號是否為本月第1周的判斷  if (date.getDay() === 1) { // 判斷1號是周一    firstWeekDatek = 1;  } else if (date.getDay() === 0) { // 判斷1號是周日    firstWeekDate = 8 - 7 + 1;  } else { // 判斷1號是周二至周六之間    firstWeekDate = 8 - date.getDay() + 1;  }  date.setMonth(date.getMonth()+1);  date.setDate(0);  var monthHasDays = date.getDate();// 本月天數  monthHasDays = date.getDate() - firstWeekDate + 1;  var hasWeek = Math.ceil(monthHasDays/7); // 計算本月有幾周  return hasWeek;};// 獲取今天是今年的第幾周String.prototype.weekIndexInYear = function () {  var nowDate = new Date(this != '' ? this : new Date());  var initTime = new Date(this != '' ? this : new Date());  initTime.setMonth(0); // 本年初始月份  initTime.setDate(1); // 本年初始時間  var differenceVal = nowDate - initTime ; // 今天的時間減去本年開始時間,獲得相差的時間  var todayYear = Math.ceil(differenceVal/(24*60*60*1000)); // 獲取今天是今年第幾天  var index = Math.ceil(todayYear/7); // 獲取今天是今年第幾周  return index;};// 獲取今天是今年的第幾天String.prototype.dateIndexInYear = function () {  var nowDate = new Date(this != '' ? this : new Date());  var initTime = new Date(this != '' ? this : new Date());  initTime.setMonth(0); // 本年初始月份  initTime.setDate(1); // 本年初始時間  var differenceVal = nowDate - initTime ; // 今天的時間減去本年開始時間,獲得相差的時間  return Math.ceil(differenceVal/(24*60*60*1000));};// 獲取今天是第幾周String.prototype.weekIndexInMonth = function () {  var date = new Date(this.trim() != '' ? this : new Date());  var dateStart = new Date((new Date(this.trim() != '' ? this : new Date()).setDate(1))); // 本月初  var firstWeek = 1;  if (dateStart.getDay() === 1) {    firstWeek = 1;  } else if (dateStart.getDay() === 0) {    firstWeek = 8 - 7 + 1;  } else {    firstWeek = 8 - dateStart.getDay() + 1;  }  var weekIndex = 1;  var c = date.getDate();  if (date.getDay() === 1 && date.getDate() < 7) {    weekIndex = 1;  } else if (c < firstWeek ) {    weekIndex = -1;  } else {    if (c < 7) {      weekIndex = Math.ceil(c/7);    } else {      c = c - firstWeek + 1;      if (c%7 === 0) {        if (dateStart.getDay() !== 6) {          weekIndex = c/7;        } else {          weekIndex = c/7 + 1;        }      } else {        weekIndex = Math.ceil(c/7);      }    }  }  return weekIndex;};            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 嘉义市| 贞丰县| 临沧市| 武川县| 犍为县| 汝南县| 高邑县| 拉萨市| 连江县| 甘洛县| 夏河县| 涞源县| 陵水| 天气| 清水县| 肥乡县| 锡林浩特市| 兴宁市| 彭泽县| 朝阳区| 郴州市| 义乌市| 疏勒县| 瑞安市| 旬邑县| 孝义市| 绥阳县| 缙云县| 临洮县| 含山县| 扬中市| 湘乡市| 永顺县| 正蓝旗| 灵丘县| 海南省| 乡宁县| 彭泽县| 云和县| 固安县| 乌鲁木齐市|