国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js 日期對象 31 號 setMonth 的鍋

jlanglang / 657人閱讀

摘要:微信公眾號分享前端后端開發等相關的技術文章,熱點資源,全棧程序員的成長之路。福利詳情請點擊免費資源分享

前言

需求:獲取當前日期的前一個月份

當月有 31 天時,JS 日期對象 setMonth 問題

1. 一般做法

當前日期如果不是 31 號, 是沒問題的,是 31 號就會有問題:

// 比如今天是 2018-09-30 號,前一個月應該是 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 號,前一個月沒有 31 號,所以結果 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 方法一

原理: 當前時間減去當前時間的天數

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
最后

技術文章更新地址:github

全棧開發 有興趣的朋友可以掃下方二維碼關注我的公眾號,我會不定期更新有價值的內容。

微信公眾號:BiaoChenXuYing
分享 前端、后端開發等相關的技術文章,熱點資源,全棧程序員的成長之路。

關注公眾號并回復 福利 便免費送你視頻資源,絕對干貨。

福利詳情請點擊: 免費資源分享--Python、Java、Linux、Go、node、vue、react、javaScript

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98881.html

相關文章

  • JS 在獲取當前月的最后一天遇到的坑

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

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

    摘要:約定星期一是一周的開始。參考給定的日期是第本年中的第幾天給定的日期是今年的第幾周給定的日期是本年的第幾天復制對象,以免修改覆蓋。號就是星期天第一周的周未是號第一周的周未是幾號計算今天是本月的第幾周給定的日期是幾號得到當前的號是星期幾。 約定:星期一是一周的開始。其中的計算結果以如下網站為準。參考:https://wannianli.tianqi.com/... //給定的日期是第本年中...

    roundstones 評論0 收藏0
  • 需要知道的JS日期知識,都在這了

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

    testbird 評論0 收藏0
  • JavaScript中Date學習記錄_013

    摘要:中對象學習記錄實例用來處理日期和時間。的對象提供了數個時間的方法,也相應提供了當地時間的方法。而當地時間則是指執行的客戶端電腦所設置的時間。構造函數中國標準時間代表自年月日世界標準時間起經過的毫秒數。中國標準時間表示日期的字符串值。 JavaScript中Date對象學習記錄 Date 實例用來處理日期和時間。Date對象基于1970年1月1日(世界標準時間)起的毫秒數。 JavaSc...

    hersion 評論0 收藏0
  • JS基礎篇--日期Date詳解與實例擴展

    摘要:實際上,如果直接將表示日期的字符串傳遞給構造函數,也會在后臺調用方法,例如下面的代碼跟前面的是等價的。構造函數構造函數會模仿但有一點不同的是,日期和時間都是基于本地時區而非來創建。兼容性問題啊其原因就是非標準日期格式。 一:Date類型介紹 要創建一個日期對象,使用new操作符和Date構造函數即可: var now = new Date(); Date.parse()方法 其中Da...

    Apollo 評論0 收藏0

發表評論

0條評論

jlanglang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<