JS如何獲取上個月的時間

JS是一門可以用來開發網頁、處理數據、創建動態交互效果的腳本語言。而隨着時間的推移,開發人員們也開始利用JS完成更多的任務。其中,獲取上一個月的時間也成為了開發者們的需要。

一、獲取上一個月的年份和月份

let date = new Date();  //獲取當前時間
let year = date.getFullYear();  //獲取當前年份
let month = date.getMonth();  //獲取當前月份
if (month === 0) {  //如果當前月份為1月份,則上個月為去年的12月份
  year--;
  month = 11;
} else {
  month--;
}

以上是一個實現獲取上一個月年份和月份的JS代碼。首先獲取當前時間,並用getFullYear()方法和getMonth()方法來獲取當前的年份和月份。接着判斷當前月份是否為1月份(JS中,月份是從0開始計數),若是,則將年份減1,月份改為12月份;若不是,則將月份減1。

二、獲取上個月的第一天和最後一天

let date = new Date();  //獲取當前時間
let year = date.getFullYear();  //獲取當前年份
let month = date.getMonth();  //獲取當前月份
if (month === 0) {  //如果當前月份為1月份,則上個月為去年的12月份
  year--;
  month = 11;
} else {
  month--;
}
let firstDay = new Date(year, month, 1);  //獲取上個月的第一天
let lastDay = new Date(year, month + 1, 0);  //獲取上個月的最後一天

以上是一個實現獲取上個月的第一天和最後一天的JS代碼。同樣先獲取當前時間,並用getFullYear()方法和getMonth()方法來獲取當前的年份和月份。接着判斷當前月份是否為1月份,若是,則將年份減1,月份改為12月份;若不是,則將月份減1。然後用new Date()方法來獲取上個月的第一天和最後一天。其中,第一天就是上個月的第一天(即月份為month、日期為1),最後一天就是當前月份為month+1、日期為0的日期。

三、獲取上個月天數

let date = new Date();  //獲取當前時間
let year = date.getFullYear();  //獲取當前年份
let month = date.getMonth();  //獲取當前月份
if (month === 0) {  //如果當前月份為1月份,則上個月為去年的12月份
  year--;
  month = 11;
} else {
  month--;
}
let lastMonthEndDate = new Date(year, month + 1, 0);  //獲取上個月的最後一天日期
let lastMonthDays = lastMonthEndDate.getDate();  //獲取上個月天數

以上是一個實現獲取上個月天數的JS代碼。同樣先獲取當前時間,並用getFullYear()方法和getMonth()方法來獲取當前的年份和月份。接着判斷當前月份是否為1月份,若是,則將年份減1,月份改為12月份;若不是,則將月份減1。然後用new Date()方法來獲取上個月最後一天的日期,再用getDate()方法來獲取上個月的天數。

四、利用moment.js獲取上一個月的時間

npm install moment  //安裝moment.js
import moment from 'moment';  //引入moment.js
let lastMonth = moment().subtract(1, 'months').format('YYYY-MM');  //獲取上一個月的時間,格式為YYYY-MM

以上是一個利用moment.js獲取上一個月的時間的JS代碼。moment.js是一個用於處理日期時間的庫,可以方便地進行時間格式化及日期運算等,所以可以用它來獲取上個月的時間。首先使用npm安裝moment.js,然後用import語句將moment.js引入項目中。接着使用subtract()方法,時間向前推1個月,最後用format()方法將時間格式化為YYYY-MM,即可獲取上個月的時間。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/285890.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:06
下一篇 2024-12-22 16:06

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • 想把你和時間藏起來

    如果你覺得時間過得太快,每天都過得太匆忙,那麼你是否曾經想過想把時間藏起來,慢慢享受每一個瞬間?在這篇文章中,我們將會從多個方面,詳細地闡述如何想把你和時間藏起來。 一、一些時間管…

    編程 2025-04-28
  • 計算斐波那契數列的時間複雜度解析

    斐波那契數列是一個數列,其中每個數都是前兩個數的和,第一個數和第二個數都是1。斐波那契數列的前幾項為:1,1,2,3,5,8,13,21,34,…。計算斐波那契數列常用…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • 時間戳秒級可以用int嗎

    時間戳是指從某個固定的時間點開始計算的已經過去的時間。在計算機領域,時間戳通常使用秒級或毫秒級來表示。在實際使用中,我們經常會遇到需要將時間戳轉換為整數類型的情況。那麼,時間戳秒級…

    編程 2025-04-28
  • 如何在ACM競賽中優化開發時間

    ACM競賽旨在提高程序員的算法能力和解決問題的實力,然而在比賽中優化開發時間同樣至關重要。 一、規劃賽前準備 1、提前熟悉比賽規則和題目類型,了解常見算法、數據結構和快速編寫代碼的…

    編程 2025-04-28
  • 使用JavaScript日期函數掌握時間

    在本文中,我們將深入探討JavaScript日期函數,並且從多個視角介紹其應用方法和重要性。 一、日期的基本表示與獲取 在JavaScript中,使用Date對象來表示日期和時間,…

    編程 2025-04-28

發表回復

登錄後才能評論