js获取一年前的时间,几个月前的今天

/**
 * 获取几年前,默认一年前的今天
 */
function getLastYear(yearNum = 1){
  let today = new Date() //当天
  today.setFullYear(today.getFullYear()-yearNum)
  return today;
}

/* 
  获取前几个月,默认前一个月的今天
*/
function getLastMonth(monthNum = 1){
  let today = new Date() //当天
  today.setMonth(today.getMonth()-monthNum)
  return today;
}

如果获取月份碰到跨年的话,自动会减去年份

JavaScript中,可以利用Date对象的内置方法来计算某一天是一年中的第几天。下面是一个简单的步骤: 1. 创建一个新的Date对象,传入特定日期的年份、份和日期(注意份从0开始计数,即0代表一,11代表十二)。 2. 使用`getDate()`方法获取该日期对象中表示的日期部分,这将返回一个介于1到31之间的整数。 3. 确定几个份的天数总和。这需要考虑到二特殊情况(闰年有29天,平年有28天),以及其他每个的天数。你可以使用一个循环和数组(比如包含每天数的数组)来计算。 4. 将所得到的天数加上给定日期的日数,就是这一年中的总天数。 这是一个示例函数来实现这个功能: ```javascript function getDayOfYear(dateString) { const monthsWithDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; const parts = dateString.split('-'); const year = parseInt(parts[0], 10); const month = parseInt(parts[1], 10) - 1; // JavaScript months start at 0 const date = parseInt(parts[2], 10); if (isLeapYear(year)) { monthsWithDays[1] = 29; } let daysSoFar = 0; for (let i = 0; i < month; i++) { daysSoFar += monthsWithDays[i]; } return daysSoFar + date; } // 判断是否为闰年 function isLeapYear(year) { return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); } // 示例用法: const dateString = '2023-03-05'; console.log(getDayOfYear(dateString)); // 输出:64 (假设2023年不是闰年) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值