js时间范围计算
背景
在设置layui时间范围选择器的默认值时想动态设置近五天的时间。故此写下此段代码
代码
const getNowDate = (dayinterval =0) => {
var date = new Date();
var sign2 = ":";
if (dayinterval != 0) {
var interval = date.getDate() - dayinterval;
if (interval < 0) {
date.setMonth(date.getMonth())
}
date.setDate(date.getDate() - dayinterval)
}
var year = date.getFullYear() // 年
var month = date.getMonth() + 1; // 月
var day = date.getDate(); // 日
var hour = date.getHours(); // 时
var minutes = date.getMinutes(); // 分
var seconds = date.getSeconds() //秒
// 给一位数的数据前面加 “0”
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 0 && day <= 9) {
day = "0" + day;
}
if (hour >= 0 && hour <= 9) {
hour = "0" + hour;
}
if (minutes >= 0 && minutes <= 9) {
minutes = "0" + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = "0" + seconds;
}
return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds;
}
//日期
laydate.render({
elem: '#timeRange'
, type: 'datetime'
, range: true
, max: '@DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")'
, min: -180
, value: getNowDate(5)+ " - " + getNowDate()
});