时间相减算法

// 月相减
function addDate2 (sourceDate, months) {
// 月相减
var date = new Date(sourceDate) //比如sourceDate传参“2019-03-31”
var oldDate = date.getDate() //获取原来的月有多少日
date.setDate(1) //设置为1日(day)
date.setMonth(date.getMonth() - months) //设置新的月份(从0开始) months 传参-1
var newDay = new Date(date.getYear(), date.getMonth() + 1, 0).getDate() //获取新得到的月有多少日
date.setDate(Math.min(oldDate, newDay))
console.log(date.toLocaleDateString()) // 2019/2/28const Y = date.getFullYear()
const Y = date.getFullYear()
const M = date.getMonth() + 1
const D = date.getDate()

return ${Y}-${M < 10 ? '0' + M : M}-${D < 10 ? '0' + D : D}
}
// 日相减
function innerDate (d) {
// 日相减
var today = new Date().valueOf()
var myday = today + d * 24 * 60 * 60 * 1000 //加减天 //var myday = today + d * 60 * 60 * 1000;//加减时 //var myday = today + d * 60 * 1000;//加减分 //var myday = today + d * 1000;//加减秒
myday = new Date(myday)
var yyyy = myday.getFullYear()
var MM = myday.getMonth() + 1
var dd = myday.getDate()
return (
yyyy + ‘-’ + (MM < 10 ? ‘0’ + MM : MM) + ‘-’ + (dd < 10 ? ‘0’ + dd : dd)
)
}
//获取两个时间相差多久
// js 计算某一个日期和当前日期相差几年几月

function dateDiff (date1, date2, type) {
if ((!date1 == date1) != ‘’ && (!date2 || date2 != ‘’)) return ‘’
date1 = typeof date1 == ‘string’ ? new Date(date1) : date1
date1 = date1.getTime()
date2 = typeof date2 == ‘string’ ? new Date(date2) : date2
date2 = date2.getTime()
type = type || ‘hour’
let diffValue = Math.abs(date2 - date1)
let second = 1000,
minute = second * 60,
hour = minute * 60,
day = hour * 24,
month = day * 30,
year = month * 12
let timeType = {
second: second,
minute: minute,
hour: hour,
day: day,
month: month,
year: year
}

return Math.ceil(diffValue / timeType[type])
}

// 获取当前时间
function getDate () {
var myDate = new Date()
//获取当前年
var year = myDate.getFullYear()
//获取当前月
var month = myDate.getMonth() + 1
//获取当前日
var date = myDate.getDate()

//获取当前时间
var now = ${year}-${conver(month)}-${conver(date)}
return now
}
//日期时间处理
function conver (s) {
return s < 10 ? ‘0’ + s : s
}
console.log(addDate2(new Date(), 3))
console.log(innerDate(new Date(), 60))
console.log(dateDiff(getDate(), ‘2021-12-30’, ‘day’), ‘day’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值