JS獲取月的第幾周和年的第幾周實(shí)例代碼
下面一段代碼給大家介紹JS獲取月的第幾周和年的第幾周,具體代碼如下所述:
var getMonthWeek = function (a, b, c) {
/*
a = d = 當(dāng)前日期
b = 6 - w = 當(dāng)前周的還有幾天過(guò)完(不算今天)
a + b 的和在除以7 就是當(dāng)天是當(dāng)前月份的第幾周
*/
var date = new Date(a, parseInt(b) - 1, c), w = date.getDay(), d = date.getDate();
return Math.ceil(
(d + 6 - w) / 7
);
};
var getYearWeek = function (a, b, c) {
/*
date1是當(dāng)前日期
date2是當(dāng)年第一天
d是當(dāng)前日期是今年第多少天
用d + 當(dāng)前年的第一天的周差距的和在除以7就是本年第幾周
*/
var date1 = new Date(a, parseInt(b) - 1, c), date2 = new Date(a, 0, 1),
d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
return Math.ceil(
(d + ((date2.getDay() + 1) - 1)) / 7
);
};
//獲取時(shí)間的代碼就不寫(xiě)了
console.log(getMonthWeek(2019,1,1));//返回1
補(bǔ)充:js 獲取每月有幾周,當(dāng)前時(shí)間在當(dāng)月第幾周,今天周幾等方法
因產(chǎn)品需要展示相關(guān)時(shí)間,現(xiàn)總結(jié)如下方法:以供日后參考:
獲取每月有幾周
// year:年 month:月 day:日
getWeeks(year, month, day) {
const d = new Date()
// 該月第一天
d.setFullYear(2018, 6, 1)
let w1 = d.getDay()
if (w1 === 0) {
w1 = 7
}
// 該月天數(shù)
d.setFullYear(2018, 7, 0)
const dd = d.getDate()
// 該月第一個(gè)周一
let d1
if (w1 !== 1) {
d1 = 7 - w1 + 2
} else {
d1 = 1
}
const WEEK_NUB = Math.ceil((dd - d1 + 1) / 7)
return WEEK_NUB
}
獲得周期名字
getWeekName() {
const weekday = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
const index = new Date().getDay()
const currDay = weekday[index]
return currDay
}
獲得當(dāng)前日期在當(dāng)月第幾周
// a: 年 b: 月 c: 日 (不包括跟上個(gè)月重合的部分)
getMonthWeek(a, b, c) {
const date = new Date(a, parseInt(b) - 1, c)
const w = date.getDay()
const d = date.getDate()
return Math.ceil(
(d + 6 - w) / 7
)
}
總結(jié)
以上所述是小編給大家介紹的JS獲取月的第幾周和年的第幾周實(shí)例代碼 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
關(guān)于JavaScript中的this指向問(wèn)題總結(jié)篇
在小編面試過(guò)程中經(jīng)常會(huì)遇到j(luò)avascript中this指向問(wèn)題,可以說(shuō)是前端面試必問(wèn),下面小編給大家總結(jié)了一下js中this的指向,感興趣的朋友一起學(xué)習(xí)吧2017-07-07
silverlight線程與基于事件驅(qū)動(dòng)javascript引擎(實(shí)現(xiàn)軌跡回放功能)
前一段時(shí)間一直在重構(gòu)工作站軌跡回放功能,一開(kāi)始我覺(jué)得很簡(jiǎn)單,但是后面引發(fā)了一系列奇怪的問(wèn)題,讓我很疼,所以不得不寫(xiě)個(gè)總結(jié)加深記憶,2011-08-08
一直都需要的復(fù)制到系統(tǒng)剪貼板之IE,firefox兼容版
一直都需要的復(fù)制到系統(tǒng)剪貼板之IE,firefox兼容版...2007-09-09
JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)倒計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)倒計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
詳解html-webpack-plugin插件(用法總結(jié))
這篇文章主要介紹了詳解html-webpack-plugin插件(用法總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
JS為什么說(shuō)async/await是generator的語(yǔ)法糖詳解
這篇文章主要給大家介紹了關(guān)于JS為什么說(shuō)async/await是generator的語(yǔ)法糖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
基于JavaScript實(shí)現(xiàn)文字超出部分隱藏
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)文字超出部分隱藏 的相關(guān)資料,需要的朋友可以參考下2016-02-02
JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)留言板功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)留言板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11

