在实际应用中,我们经常会碰到查询本周、本月的一些统计数据,那么怎样才能快速获取到我们想要的时间区间呢,下面提供一些可以直接使用的代码:
1、Date转String的工具方法:
function getDateStr(now) {
var year = now.getFullYear(); // 年
var month = now.getMonth() + 1; // 月
var day = now.getDate(); // 日
if(day < 10) {
day = '0' + day;
}
if(month < 10) {
month = '0' + month;
}
return year + "-" + month + "-" + day;
}
2、获取本周从周一00:00:00开始到当天的时间区间,其中now.getDay()获取当天是周几,周日是0,周六是6,所以要对周日特殊处理一下:
var now = new Date();
var nowDayOfWeek = now.getDay() == 0 ? 6 : (now.getDay()-1);
var startTime = getDateStr(new Date(now.getTime() - nowDayOfWeek * 24 * 60 * 60 * 1000)) + ' 00:00:00';
var endTime = getDateStr(now) + ' 23:59:59';
3、获取本月从1日00:00:00开始到当天的时间区间;
var now = new Date();
var nowDay = now.getDate() - 1;
var startTime = getDateStr(new Date(now.getTime() - nowDay * 24 * 60 * 60 * 1000)) + ' 00:00:00';
var endTime = getDateStr(now) + ' 23:59:59';