成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

js 日期對(duì)象 31 號(hào) setMonth 的鍋

jlanglang / 662人閱讀

摘要:微信公眾號(hào)分享前端后端開(kāi)發(fā)等相關(guān)的技術(shù)文章,熱點(diǎn)資源,全棧程序員的成長(zhǎng)之路。福利詳情請(qǐng)點(diǎn)擊免費(fèi)資源分享

前言

需求:獲取當(dāng)前日期的前一個(gè)月份

當(dāng)月有 31 天時(shí),JS 日期對(duì)象 setMonth 問(wèn)題

1. 一般做法

當(dāng)前日期如果不是 31 號(hào), 是沒(méi)問(wèn)題的,是 31 號(hào)就會(huì)有問(wèn)題:

// 比如今天是 2018-09-30 號(hào),前一個(gè)月應(yīng)該是 2018-08-30 
let now = new Date(new Date("2018-09-30").setMonth(new Date("2018-09-30").getMonth() - 1))
console.log("now :", now.toLocaleString())
// now : 2018/8/30 上午8:00:00

// 比如今天是 2018-10-31 號(hào),前一個(gè)月沒(méi)有 31 號(hào),所以結(jié)果 2018-10-01:
let now = new Date(new Date("2018-10-31").setMonth(new Date("2018-10-31").getMonth() - 1))
console.log("now :", now.toLocaleString())
// now : 2018/10/1 上午8:00:00
2. 正確的方法: 2.1 方法一

原理: 當(dāng)前時(shí)間減去當(dāng)前時(shí)間的天數(shù)

function initLastMonth(date) {
            let monthDate = new Date(date);
            let newDate = new Date(monthDate.getTime() - 24 * 60 * 60 * 1000 * monthDate.getDate())
            console.log("newDate :", newDate.toLocaleString())
          return newDate
}
initLastMonth("2018-10-31")
//  newDate : 2018/9/30 上午8:00:00
2.2 方法二

原理: setMonth 之前先 setDate(1)

function initLastMonth(date) {
            const now = new Date(date);
            now.setDate(1)
            now.setMonth(now.getMonth() - 1)
            console.log(now.toLocaleString()) 
            return now
        }
initLastMonth("2018-10-31")
// 2018/9/1 上午8:00:00
最后

技術(shù)文章更新地址:github

對(duì) 全棧開(kāi)發(fā) 有興趣的朋友可以?huà)呦路蕉S碼關(guān)注我的公眾號(hào),我會(huì)不定期更新有價(jià)值的內(nèi)容。

微信公眾號(hào):BiaoChenXuYing
分享 前端、后端開(kāi)發(fā)等相關(guān)的技術(shù)文章,熱點(diǎn)資源,全棧程序員的成長(zhǎng)之路。

關(guān)注公眾號(hào)并回復(fù) 福利 便免費(fèi)送你視頻資源,絕對(duì)干貨。

福利詳情請(qǐng)點(diǎn)擊: 免費(fèi)資源分享--Python、Java、Linux、Go、node、vue、react、javaScript

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98881.html

相關(guān)文章

  • JS 在獲取當(dāng)前月的最后一天遇到的坑

    摘要:想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳博客一年百來(lái)篇優(yōu)質(zhì)文章等著你為了更好的講這節(jié)的內(nèi)容,提示一個(gè)處理日期的小技巧,想獲取上個(gè)月最后一天,只需要設(shè)置參數(shù)為即可。 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你! 為了更好的講這節(jié)的內(nèi)容,提示一個(gè) JS 處理日期的小技巧,想獲取上個(gè)月最后一天,只需要設(shè)置SetDate參數(shù)為0即可。 var endDate = new Date();...

    zollero 評(píng)論0 收藏0
  • 查看指定日期是本年和本月的第幾周

    摘要:約定星期一是一周的開(kāi)始。參考給定的日期是第本年中的第幾天給定的日期是今年的第幾周給定的日期是本年的第幾天復(fù)制對(duì)象,以免修改覆蓋。號(hào)就是星期天第一周的周未是號(hào)第一周的周未是幾號(hào)計(jì)算今天是本月的第幾周給定的日期是幾號(hào)得到當(dāng)前的號(hào)是星期幾。 約定:星期一是一周的開(kāi)始。其中的計(jì)算結(jié)果以如下網(wǎng)站為準(zhǔn)。參考:https://wannianli.tianqi.com/... //給定的日期是第本年中...

    roundstones 評(píng)論0 收藏0
  • 需要知道的JS日期知識(shí),都在這了

    摘要:實(shí)際上是格林威治標(biāo)準(zhǔn)時(shí)間的同義詞默認(rèn)情況下,中的幾乎每個(gè)日期方法除了一個(gè)都是本地時(shí)間。如果你住在格林威治標(biāo)準(zhǔn)時(shí)間晚的的地區(qū),你會(huì)得到一個(gè)日期是月日。需要知道對(duì)象日期方法。 為了保證的可讀性,本文采用意譯而非直譯。 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你! JS中的 Date 很奇怪。當(dāng)我們需要處理日期和時(shí)間的時(shí)候比較麻煩,經(jīng)常借助像date-fns和 Mom...

    testbird 評(píng)論0 收藏0
  • JavaScript中Date學(xué)習(xí)記錄_013

    摘要:中對(duì)象學(xué)習(xí)記錄實(shí)例用來(lái)處理日期和時(shí)間。的對(duì)象提供了數(shù)個(gè)時(shí)間的方法,也相應(yīng)提供了當(dāng)?shù)貢r(shí)間的方法。而當(dāng)?shù)貢r(shí)間則是指執(zhí)行的客戶(hù)端電腦所設(shè)置的時(shí)間。構(gòu)造函數(shù)中國(guó)標(biāo)準(zhǔn)時(shí)間代表自年月日世界標(biāo)準(zhǔn)時(shí)間起經(jīng)過(guò)的毫秒數(shù)。中國(guó)標(biāo)準(zhǔn)時(shí)間表示日期的字符串值。 JavaScript中Date對(duì)象學(xué)習(xí)記錄 Date 實(shí)例用來(lái)處理日期和時(shí)間。Date對(duì)象基于1970年1月1日(世界標(biāo)準(zhǔn)時(shí)間)起的毫秒數(shù)。 JavaSc...

    hersion 評(píng)論0 收藏0
  • JS基礎(chǔ)篇--日期Date詳解與實(shí)例擴(kuò)展

    摘要:實(shí)際上,如果直接將表示日期的字符串傳遞給構(gòu)造函數(shù),也會(huì)在后臺(tái)調(diào)用方法,例如下面的代碼跟前面的是等價(jià)的。構(gòu)造函數(shù)構(gòu)造函數(shù)會(huì)模仿但有一點(diǎn)不同的是,日期和時(shí)間都是基于本地時(shí)區(qū)而非來(lái)創(chuàng)建。兼容性問(wèn)題啊其原因就是非標(biāo)準(zhǔn)日期格式。 一:Date類(lèi)型介紹 要?jiǎng)?chuàng)建一個(gè)日期對(duì)象,使用new操作符和Date構(gòu)造函數(shù)即可: var now = new Date(); Date.parse()方法 其中Da...

    Apollo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<