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/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

发表回复

登录后才能评论