1、获取今日时间(2020-06-10 15:47:20 周三),格式为:yyyy-mm-dd hh:mm:ss 周几
// yyyy-mm-dd hh:mm:ss 周几
var now = new Date();
var y = now.getFullYear();//年
var m =now.getMonth() + 1;//月
var d = now.getDate();//日
var hh =now.getHours() ;
var mm =now.getMinutes() ;
var ss = now.getSeconds();
var weekday = " 周" + "日一二三四五六".charAt(now.getDay());
// var formattime=y+"年"+m + "月" + d+'日 '+hh+":"+mm+":"+ss+weekday;
var formattime=[y, m, d].map(padStartConvert).join('-')+" "+[hh, mm, ss].map(padStartConvert).join(':')+weekday;
console.log(formattime);
function padStartConvert(n){
n = n.toString()
return n[1] ? n : '0' + n
}
效果:
2、获取昨日、今日(2020-06-10 )、明日的时间,格式为:yyyy-mm-dd
console.log(formatDate(-1));//昨天
console.log(formatDate(0));//今天
console.log(formatDate(1));//明天
// num:表示距离当前日期的天数,0表示当天,1明天,-1昨天
function formatDate(num){
var now = new Date();
var nowTime = now.getTime();
var oneDayTime = 24 * 60 * 60 * 1000;
var ShowTime = nowTime+num*oneDayTime;
var myDate = new Date(ShowTime);
var y = myDate.getFullYear();//年
var m =myDate.getMonth() + 1;//月
var d =myDate.getDate();//日
return [y, m, d].map(padStartConvert).join('-')
}
function padStartConvert(n){
n = n.toString()
return n[1] ? n : '0' + n
}
效果:
3、近7天(当天+前6天)的开始和结束时间分别为:
formatDate(-6);
formatDate(0);
4、未来7天(当天+后6天)的开始和结束时间分别为:
formatDate(0);
formatDate(6);
5、近30天(当天+前29天)的开始和结束时间分别为:
formatDate(-29);
formatDate(0);
6、未来30天(当天+前29天)的开始和结束时间分别为:
formatDate(0);
formatDate(29);
7、某月的起始日期:
getMonthStartAndEnd('2020-06');
// date:日期类型,如输入2020-06,输出{start: "2020-06-01", end: "2020-06-30"}
function getMonthStartAndEnd(date) {
var arr = date.split('-');
var year = arr[0]; //获取当前日期的年份
var month = arr[1]; //获取当前日期的月份
var days = new Date(year, month, 0);
days = days.getDate(); //获取当前日期中月的天数
var start=date+ '-01';
var end=date+ '-'+days;
return monthObj={
start,
end
};
}
效果: