今天是2020-12-04, 三天前的年月日,三天后的年月日
function GetDateStr(DayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+DayCount); //获取DayCount天后的日期
var y = dd.getFullYear();
var m1 = addzero((dd.getMonth()+1))
var m = (dd.getMonth()+1)<10? "0" +(dd.getMonth()+1):(dd.getMonth()+1); //获取当前月份的日期,不足10补0
console.log(m, m1)
var d1 = addzero(dd.getDate())
var d = dd.getDate()<10? "0" +dd.getDate():dd.getDate(); //获取当前几号,不足10补0
console.log(d1, d)
return y+ "-" +m+ "-" +d;
}
function addzero(a) {
return a < 10 ? ('0' + a) : a
}
15天前的时间: console.log( “15天前:” +GetDateStr(-15));
15天后的时间: console.log( “15天前:” +GetDateStr(15));
把30天前到今天的时间放到一个数组里面
let allMonth = []
for (var i = 0; i < 30; i++) {
allMonth.unshift(new Date(new Date().setDate(new Date().getDate() - i))
.toLocaleDateString().split('/').join('-').substr(5))
}
console.log(allMonth)
在某一个时间上面加上xx分钟
比如: 在2021-02-01 17:24:10的基础上加 15分钟
export function add(m) {
return m < 10 ? '0' + m : m
}
export function getRightTIme(time) {
var y = time.getFullYear();
var m = time.getMonth() + 1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return (
y +
"-" +
add(m) +
"-" +
add(d) +
" " +
add(h) +
":" +
add(mm) +
":" +
add(s)
);
}
getRightTIme(new Date(new Date(time).setMinutes(new Date(time).getMinutes() + 15)))
time 是你基础时间, 15是加上的时间
结果是整体时间
当前时间转换标准格式 如:yyyy-mm-dd
// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序
// 所以这里做一个兼容polyfill的兼容处理
if (!String.prototype.padStart) {
// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解
String.prototype.padStart = function(maxLength, fillString = ' ') {
if (Object.prototype.toString.call(fillString) !== "[object String]") throw new TypeError(
'fillString must be String')
let str = this
// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉
if (str.length >= maxLength) return String(str)
let fillLength = maxLength - str.length,
times = Math.ceil(fillLength / fillString.length)
while (times >>= 1) {
fillString += fillString
if (times === 1) {
fillString += fillString
}
}
return fillString.slice(0, fillLength) + str;
}
}
// 其他更多是格式化有如下:
// yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合
function timeFormat(dateTime = null, fmt = 'yyyy-mm-dd') {
// 如果为null,则格式化当前时间
if (!dateTime) dateTime = Number(new Date());
// 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式
if (dateTime.toString().length == 10) dateTime *= 1000;
let date = new Date(dateTime);
let ret;
let opt = {
"y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"h+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"s+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
}
export default timeFormat