js日期處理-周數(shù)

記錄解決獲取日期為當(dāng)年第幾周問(wèn)題,之所以記錄周數(shù)的運(yùn)算,而不是月,是因?yàn)橹艽嬖诳缒晏匦?

通常一年第一周和最后一周都會(huì)出現(xiàn)跨年現(xiàn)象。程序在不允許兩年出現(xiàn)重疊周的情況下,會(huì)約定以周四所在日期的年份為主,即周四的日期為哪一周,則這周歸屬于哪一年。比如2019-12-30 ~ 2020-1-5 按中國(guó)習(xí)慣周一為第一天,該日期為19年而周日5號(hào)為20年,此時(shí)以周四2020-1-2所在年份為主,所以該周應(yīng)該歸屬在2020年第一周。

常用方法

// 獲取日期所在周為一年第幾周 假設(shè)每周周一為第一天

function?getWeekIndex(d)?{

? ? // 截掉時(shí)分秒保留整數(shù)天

????var?date?=?new?Date((d?||?new?Date()).toLocaleDateString());

????//?設(shè)置日期為當(dāng)前周周四

????date.setDate(date.getDate()?+?(4?-?(date.getDay()||7)));

????var?year?=?date.getFullYear();

????var?firstDate?=?new?Date(year,?0,?1);

????firstDate.setDate(firstDate.getDate()?+?(4?-?(firstDate.getDay()||7)));

????//?當(dāng)年第一天早于周四?第一周延后七天

????if?(firstDate.getFullYear()?<?year)?{

????????firstDate.setDate(firstDate.getDate()?+?7);

????}

????//?計(jì)算當(dāng)前周和第一周之間周數(shù)差

????return?Math.ceil(((date?-?firstDate)?/?86400000?+?1)?/?7?);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、js獲取當(dāng)前日期時(shí)間 var myDate = new Date(); myDate.getYear(); ...
    李二丶閱讀 2,048評(píng)論 0 0
  • 項(xiàng)目統(tǒng)計(jì)中遇到:mysql 獲取 當(dāng)年年周次。到前端來(lái)用js轉(zhuǎn)換成日期區(qū)間 function getXDate(y...
    A小發(fā)_bff0閱讀 4,055評(píng)論 1 1
  • 一、Date對(duì)象 什么是Date對(duì)象? Date對(duì)象用于處理日期和時(shí)間,Date對(duì)象記錄著從1970年1月1日00...
    小五丶_閱讀 404評(píng)論 0 0
  • 全系列文章索引: IOS開(kāi)發(fā)問(wèn)題索引(一) IOS開(kāi)發(fā)問(wèn)題索引(二) IOS開(kāi)發(fā)問(wèn)題索引(三) IOS開(kāi)發(fā)問(wèn)題索引...
    Kevin_Junbaozi閱讀 1,302評(píng)論 0 0
  • 一個(gè)來(lái)自遠(yuǎn)方朋友的問(wèn)候,讓人覺(jué)得格外溫暖。 其實(shí)我們交集不多,僅算得上是點(diǎn)頭之交。見(jiàn)了面會(huì)打招呼,之前因?yàn)楣ぷ饔薪?..
    蘇穆涼閱讀 183評(píng)論 0 1

友情鏈接更多精彩內(nèi)容