- 获取当前时间的周一到周日
function getDates() {
let new_Date = new Date()
// console.log(new_Date)
let timesStamp = new_Date.getTime();
// console.log(timesStamp)
let currenDay = new_Date.getDay();
// console.log(currenDay)
let dates = [];
for(let i = 0; i < 7; i++) {
dates.push(new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString().replace(/[年月]/g, '-').replace(/[日上下午]/g, ''));
}
return dates
}
console.log(getDates())
// ["2020/8/24", "2020/8/25", "2020/8/26", "2020/8/27", "2020/8/28", "2020/8/29", "2020/8/30"]
- 当前日期减去前1小时、7天、1月、1年
var sdtime1 = new Date('2018-03-22 16:14:55')
var sdtime2 = sdtime1.setHours(sdtime1.getHours() -1)//小时
var sdtime3=new Date().setDate((new Date().getDate()-7))//7天
var sdtime4=new Date().setMonth((new Date().getMonth()-1))//一个月
var sdtime5=new Date().setFullYear((new Date().getFullYear()-1))//一年
console.log(new Date(sdtime2).Format("yyyy-MM-dd HH:mm:ss"));
3.指定某个日期(字符串),增加n天后,输出日期字符串,格式:年-月-日
/**
* [dateAddDays 从某个日期增加n天后的日期]
* @param {[string]} dateStr [日期字符串]
* @param {[int]} dayCount [增加的天数]
* @return {[string]}[增加n天后的日期字符串]
*/
function dateAddDays(dateStr,dayCount) {
let tempDate=new Date(dateStr.replace(/-/g,"/"));//把日期字符串转换成日期格式
let resultDate=new Date((tempDate/1000+(86400*dayCount))*1000);//增加n天后的日期
let resultDateStr=resultDate.getFullYear()+"-"+(resultDate.getMonth()+1)+"-"+(resultDate.getDate());//将日期转化为字符串格式
return resultDateStr;
}
dateAddDays('2019-03-18',27); //"2019-4-14"
4.年月日自动补零 2020-4-14 -->> 2020-04-14
/**
* @param {[string]} day [日期字符串]
* @return {[string]} 年月日自动补零
*/
function day(day) {
if (day.split("-")[1] < 10) {
if (day.split("-")[2] < 10) {
day = day.split("-")[0] + "-" + "0" + day.split("-")[1] + "-" + "0" +day.split("-")[2];
} else {
day = day.split("-")[0] + "-" + "0" + day.split("-")[1] + "-" + day.split("-")[2];
}
} else {
if (day.split("-")[2] < 10) {
day = day.split("-")[0] + "-" + day.split("-")[1] + "-" + "0" + day.split("-")[2];
} else {
day = day.split("-")[0] + "-" + day.split("-")[1] + "-" + day.split("-")[2];
}
}
return day;
}
// day('2019-4-14') 2019-04-14
5 ,已知开始时间和结束时间 计算出中间的所有日期
// 中国标准时间format yyyy-mm-dd
const format = (time) => {
let ymd = ''
let mouth = (time.getMonth() + 1) >= 10 ? (time.getMonth() + 1) : ('0' + (time.getMonth() + 1))
let day = time.getDate() >= 10 ? time.getDate() : ('0' + time.getDate())
ymd += time.getFullYear() + '-' // 获取年份。
ymd += mouth + '-' // 获取月份。
ymd += day // 获取日。
return ymd // 返回日期。
}
const getAllDate = (start, end) => {
let dateArr = []
let startArr = start.split('-')
let endArr = end.split('-')
let db = new Date()
db.setUTCFullYear(startArr[0], startArr[1] - 1, startArr[2])
let de = new Date()
de.setUTCFullYear(endArr[0], endArr[1] - 1, endArr[2])
let unixDb = db.getTime()
let unixDe = de.getTime()
let stamp
const oneDay = 24 * 60 * 60 * 1000;
for (stamp = unixDb; stamp <= unixDe;) {
dateArr.push(format(new Date(parseInt(stamp))))
stamp = stamp + oneDay
}
return dateArr
}
...
// 使用
console.log(getAllDate('2018-12-12', '2019-3-3'))
- 得出最近七天:
// 中国标准时间format yyyy-mm-dd
const format = (time) => {
let ymd = ''
let mouth = (time.getMonth() + 1) >= 10 ? (time.getMonth() + 1) : ('0' + (time.getMonth() + 1))
let day = time.getDate() >= 10 ? time.getDate() : ('0' + time.getDate())
ymd += time.getFullYear() + '-' // 获取年份。
ymd += mouth + '-' // 获取月份。
ymd += day // 获取日。
return ymd // 返回日期。
}
const getWeekDate = () => {
let myDate = new Date()
// 获取前一周时间
const oneDay = 24 * 60 * 60 * 1000;
let oneweekdate = new Date(myDate - 7 * oneDay)
let lastWeek = []
lastWeek.push(format(oneweekdate))
lastWeek.push(format(myDate))
return lastWeek
}
...
// 使用
console.log(getWeekDate())
- 得出最近一个月:
// 中国标准时间format yyyy-mm-dd
const format = (time) => {
let ymd = ''
let mouth = (time.getMonth() + 1) >= 10 ? (time.getMonth() + 1) : ('0' + (time.getMonth() + 1))
let day = time.getDate() >= 10 ? time.getDate() : ('0' + time.getDate())
ymd += time.getFullYear() + '-' // 获取年份。
ymd += mouth + '-' // 获取月份。
ymd += day // 获取日。
return ymd // 返回日期。
}
const getMonthDate = () => {
let nowDate = new Date()
let nowDateChange = new Date()
let lastMonth = []
// 获取前一月时间
nowDateChange.setMonth(nowDateChange.getMonth() - 1)
lastMonth.push(format(nowDateChange))
lastMonth.push(format(nowDate))
return lastMonth
}
...
// 使用
console.log(getMonthDate())
- 得出最近三个月:
// 中国标准时间format yyyy-mm-dd
const format = (time) => {
let ymd = ''
let mouth = (time.getMonth() + 1) >= 10 ? (time.getMonth() + 1) : ('0' + (time.getMonth() + 1))
let day = time.getDate() >= 10 ? time.getDate() : ('0' + time.getDate())
ymd += time.getFullYear() + '-' // 获取年份。
ymd += mouth + '-' // 获取月份。
ymd += day // 获取日。
return ymd // 返回日期。
}
const getThreeMonthDate = () => {
let nowDate = new Date()
let nowDateChange = new Date()
let threeMonth = []
// 获取前三月时间
nowDateChange.setMonth(nowDateChange.getMonth() - 3)
threeMonth.push(format(nowDateChange))
threeMonth.push(format(nowDate))
return threeMonth
}
...
// 使用
console.log(getThreeMonthDate())
- 得出一年:
const format = (time) => {
let ymd = ''
let mouth = (time.getMonth() + 1) >= 10 ? (time.getMonth() + 1) : ('0' + (time.getMonth() + 1))
let day = time.getDate() >= 10 ? time.getDate() : ('0' + time.getDate())
ymd += time.getFullYear() + '-' // 获取年份。
ymd += mouth + '-' // 获取月份。
ymd += day // 获取日。
return ymd // 返回日期。
}
const getYearDate = () => {
let nowDate = new Date()
let nowDateChange = new Date()
let lastYear = []
// 获取前一年时间
nowDateChange.setFullYear(nowDateChange.getFullYear()- 1)
lastYear.push(format(nowDateChange))
lastYear.push(format(nowDate))
return lastYear
}
...
// 使用
console.log(getYearDate())