1. 获取当前日期
使用实例:getnowDate('-'); getnowDate('.');
结果实例:‘2022-09-09’; ‘2022.09.09’
/**
* 获取当前日期
* {param:String} str 日期连接字符('-', '.', ...)
*/
getnowDate(str) {
const date = new Date()
return date.getFullYear() + str + (date.getMonth() >= 9 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + str + (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate())
}
2. 获取前几天日期
使用实例:getDay('1', '/'); getDay('-2', '-'); (当前日期:2022-10-10)
结果实例:‘2022/10/11’; ‘2022-10-08’
/**
* 获取前几天日期
* {param:String} num 与当前日期天数差('1', '-2', ...)
* {param:String} str 日期连接字符('-', '.', ...)
*/
getDay(num, str) {
var today = new Date()
var nowTime = today.getTime()
var ms = 24 * 3600 * 1000 * num
today.setTime(parseInt(nowTime + ms))
var oYear = today.getFullYear()
var oMoth = (today.getMonth() + 1).toString()
if (oMoth.length <= 1) oMoth = '0' + oMoth
var oDay = today.getDate().toString()
if (oDay.length <= 1) oDay = '0' + oDay
return oYear + str + oMoth + str + oDay
},
3. 获取几个月前的输入日期
使用实例:GetPreMonthDay('2022.10.10', 3)
结果实例:‘2022.07.10’
/**
* 获取几个月前的输入日期
* {param:DateTime} date 输入日期(YYYY.MM.DD)
* {param:number } monthNum 月数
*/
GetPreMonthDay(date, monthNum) {
var dateArr = date.split('.')
var year = dateArr[0] // 获取当前日期的年份
var month = dateArr[1] // 获取当前日期的月份
var day = dateArr[2] // 获取当前日期的日
var days = new Date(year, month, 0)
days = days.getDate() // 获取当前日期中月的天数
var year2 = year
var month2 = parseInt(month) - monthNum
if (month2 <= 0) {
var absM = Math.abs(month2)
year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12)
month2 = 12 - (absM % 12)
}
var day2 = day
var days2 = new Date(year2, month2, 0)
days2 = days2.getDate()
if (day2 > days2) {
day2 = days2
}
if (month2 < 10) {
month2 = '0' + month2
}
var t2 = year2 + '.' + month2 + '.' + day2
return t2
}
4. 中国标准时间转换成年月日时分秒
/**
* 中国标准时间转换成年月日时分秒
* 实例:js_biao_year('Tue Oct 11 2022 08:09:10 GMT+0800')
* 2022-10-09 08:09:10
*/
js_biao_year(time) {
var date = new Date(time)
var y = date.getFullYear()
var m = date.getMonth() + 1
m = m < 10 ? ('0' + m) : m
var d = date.getDate()
d = d < 10 ? ('0' + d) : d
var h = date.getHours()
h = h < 10 ? ('0' + h) : h
var minute = date.getMinutes()
minute = minute < 10 ? ('0' + minute) : minute
var s = date.getSeconds()
s = s < 10 ? ('0' + s) : s
return y + '-' + m + '-' + d + 'T' + h + ':' + minute + ':' + s
// return y + '-' + m + '-' + d
}
5. 获取指定日期的前后日期,并用年月日显示
/**
* 获取前后日期并用年月日显示
* 实例:getNextDate('2022-10-11', -2)
* 2022年10月09日
*/
getNextDate(date, day) {
var dd = new Date(date) // '2022-10-11' 转换为中国标准时间
console.log('测试', dd)
dd.setDate(dd.getDate() + day)
var y = dd.getFullYear()
var m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1
var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()
return y + '年' + m + '月' + d + '日'
},