JS 返回两个时间之间的所有日期、月份、年份、季度

1、日期

/*** 获取两日期之间日期列表函数* 返回两个时间之间所有的日期* 参数示例 ('2021-05-31','2021-06-30')* **/
export const getTimeTwo = (start, end) => {//初始化日期列表,数组let diffdate = new Array();let arr = []let i = 0;//开始日期小于等于结束日期,并循环while (start <= end) {diffdate[i] = start;//获取开始日期时间戳let stime_ts = new Date(start).getTime();//增加一天时间戳后的日期let next_date = stime_ts + (24 * 60 * 60 * 1000);//拼接年月日,这里的月份会返回(0-11),所以要+1let next_dates_y = new Date(next_date).getFullYear() + '-';let next_dates_m = (new Date(next_date).getMonth() + 1 < 10) ? '0' + (new Date(next_date).getMonth() + 1) + '-' : (new Date(next_date).getMonth() + 1) + '-';let next_dates_d = (new Date(next_date).getDate() < 10) ? '0' + new Date(next_date).getDate() : new Date(next_date).getDate();start = next_dates_y + next_dates_m + next_dates_d;//增加数组keyi++;}return diffdate;
}

2、月份

/*** 获取两个日期中所有的月份* 返回两个时间之间所有的月份* 参数示例 ('2021-01-01','2021-06-01')* **/
export const getMonthBetween = (start, end) => {let result = [];let min = new Date(start);let max = new Date(end);let curr = min;do{let month = new Date(curr).getMonth() + 1;let t = ""if (month < 10) {t = '0' + month} else t = monthlet str = curr.getFullYear() + "-" + (t);result.push(str);if (month == 12) {curr.setFullYear(new Date(curr).getFullYear() + 1)curr.setMonth(0)} else curr.setMonth(month);} while (curr <= max)return result;
}

3、年份

/*** 获取两个日期中所有的年份* 返回两个时间之间所有的年份* 参数示例 ('2021-01-01','2021-01-01')* **/
export const getYearBetween = (start, end) => {let result = [];let min = new Date(start).getFullYear();let max = new Date(end).getFullYear();while (min <= max) {result.push(min);min = (Number(min) + 1)}return result;
}

4、季度

/*** 获取两个日期中所有的季度* 返回两个时间之间所有的季度* 参数示例 ('2021-01-01','2022-01-01')* 返回 ['2021-1','2021-2','2021-3','2021-4','2022-1']* **/
export const getQuarterBetween = (startTime, endTime) => {startTime = new Date(startTime)endTime = new Date(endTime)let quarter = []// 与结束时间对比哪个大,比结束时间大则跳出,小于结束时间则继续计算下一个季度while (startTime < endTime) {let currentQuarter = quarterFun(new Date(startTime).getMonth() + 1)let year = new Date(startTime).getFullYear()quarter.push(year + '-' + currentQuarter)// 下一个判断时间startTime = nextQuarterLastDate(new Date(startTime).getFullYear(), currentQuarter)}// 判断季度function quarterFun(currMonth) {let currentQuarter = Math.floor((currMonth % 3 == 0 ? (currMonth / 3) : (currMonth / 3 + 1)))return currentQuarter}// 返回下个季度的第一日function nextQuarterLastDate(year, currentQuarter) {if (currentQuarter == 4) { //上一个季度是第四季度,则下一年第一季度第一天year += 1currentQuarter = 1} else {currentQuarter += 1}let nextTime = new Date(year, currentQuarter * 3 - 2, 0, 0, 0, 0)return nextTime}return quarter
};

5、获取某年某个月一共有多少天 / 最后一天 / 第一天

let year = '2022'
let month = 4
// 有多少天
let days = new Date(year,month,0).getDate() //30
// 最后一天
let lastday = new Date(year,month,0) //2022-04-30
// 第一天
let firstday = new Date(year,month-1,1) //2022-04-01

6、判断当前月份属于哪个季度

let currMonth = new Date().getMonth()+1
let currQuarter = Math.floor( ( currMonth % 3 == 0 ? ( currMonth / 3 ) : ( currMonth / 3 + 1 ) ) )

季度公式

// 1
1+(q-1)*3 or (q*3-2)
// 2
q*3-1
// 3
q*3

7、判断当前时间往前几个月份的日期

//now time 2022/08/01 14:58:40
//年(getFullYear,setFullYear)
//日(getDate,setDate)
//时(getHours,setHours())
//分秒同理
let onlineTime = 1
let disMouth= new Date(new Date().setMonth((new Date().getMonth() - onlineTime))) // 2022/07/01 14:58:40


参考:JavaScript Date 对象

8、返回两个日期相差天数

//now time 2022/08/01
let days = ((new Date() - disMouth) / (1 * 24 * 60 * 60 * 1000))^0 //相差天数 31

JS 返回两个时间之间的所有日期、月份、年份、季度相关推荐

  1. java获取两个时间之间的所有日期、月份、年份,返回列表

     需求描述 输入开始时间和结束时间,获取时间范围内的所有日期,月份.年份     (输入可以为"yyyy-MM-dd HH:mm:ss"或者"yyyy-MM-dd&quo ...

  2. js计算两个时间之间天数差的实例代码

    days = dateDiff(d1,d2); 调用该函数传递两个时间值:2013-01-19   2013-12-19 if(validatePeriod(date1Year,date1Month, ...

  3. MySQL timestampdiff()函数返回两个时间之间的差值

    TIMESTAMPDIFF(unit,begin,end); TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式. TIMESTAMP ...

  4. js计算两个时间之间的差,超简便的方法

    转载出处 getDiffDay(date_1, date_2) {// 计算两个日期之间的差值let totalDays,diffDatelet myDate_1 = Date.parse(date_ ...

  5. js获取传统节假日_js 两个时间之间工作日的计算问题(包含节假日)

    后端用vue写点前端代码,也是罪过...嗷嗷嗷  行吧 项目需求描述:需要对时间控件里面的两个时间计算出相隔多少个工作日(包含节假日),由于节假日每年都不确定.保证项目能够正常使用,录用了2018年和 ...

  6. JS 计算两个时间的间隔

    js 计算两个时间之间间隔的天数 var start = new Date('2019-12-10'); //开始的时间 var end = new Date('2020-01-09'); //结束的 ...

  7. python时间差转换成天数_Python实现计算两个时间之间相差天数的方法

    本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...

  8. js计算两个时间戳之间的时间差(多少天、时、分、秒)

    util.js 文件中 1.定义方法 //计算两个时间之间的时间差 多少天时分秒 function intervalTime(startTime,endTime) {// var timestamp= ...

  9. Mysql-计算两个时间之间的差值

    计算两个时间之间的差值 1.datediff()计算date差值 2.timediff()计算时分秒差值 3.timestampdiff()计算指定维度的时间差值 1.datediff()计算date ...

最新文章

  1. Elastic Job从单点到高可用、同城主备、同城双活
  2. 二十、SPI设备驱动及应用(一)
  3. php1为true,php有一个预定义的常量true,值为整数1,这该如何理解?
  4. 《面向对象程序设计》第12章在线测试
  5. request的简介和运行环境
  6. IBase component cannot be created and deleted in the same second
  7. python界面设计实例qt_pyqt的最小示例qtreeview和qt设计
  8. python-简单邮件报警
  9. 你离Python大神就差这课树了!建议收藏|Python技能树测评
  10. PlusWell FileMirror软件产品简介
  11. 我要发明计算机作文,我要发明机器人作文700字
  12. 量子计算机 时间倒流,科学家首次利用量子计算机成功逆转时间,时间倒流将变成可能?...
  13. Photoshop 2021(Ps)下载安装及详细安装教程
  14. 金融行业用户画像最佳实践
  15. 微信小程序新手教程 1.0
  16. ansible-playbook 通过mail模块发送邮件
  17. Element DateTimePicker 日期时间选择器 今天日期设置,并获取value值
  18. 淘宝/天猫获取商品历史价格信息 API
  19. 戴尔寄希望于区块链在印度服务器市场保持竞争力
  20. 微信小程序快速创建wxml、js、json、wxss新文件

热门文章

  1. EPICS 在win10 和 linux上的安装与测试
  2. Mac上的全局手势多功能软件--BetterAndBetter(1)
  3. 边缘计算 KubeEdge+EdgeMash
  4. 2022年电工(中级)考试题库及答案
  5. IT项目管理中风险控制的4个重要步骤
  6. 2020年云栖大会阿里云线上直播地址
  7. html中常用的一些英文单词
  8. webpack源码分析之五:sourcemap
  9. QT QSS设置炫彩字体
  10. java小数转换成分数_如何将小数转换为分数?