博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 计算快速统计中用到的日期
阅读量:5326 次
发布时间:2019-06-14

本文共 2462 字,大约阅读时间需要 8 分钟。

前言

      最近在做统计报表模块,其中查询条件用到了快速查询,主要为了方便客户统计查询常用的几个日期纬度,比如本周、上周、本月、上月、昨日。 使用js计算,主要用到了js Date、 getDate()、getDay(), 代码包括格式化日期函数。

 

快速查询日期计算

function NewDate(str)     {         str=str.split('-');         var date=new Date();         date.setUTCFullYear(str[0], str[1]-1, str[2]);         date.setUTCHours(0, 0, 0, 0);         return date;     }//格式化日期格式    stime=stime.format("yyyyMMdd");	 Date.prototype.format = function (format) {	var o = {		"M+": this.getMonth() + 1, //month		"d+": this.getDate(), //day		"h+": this.getHours(), //hour		"m+": this.getMinutes(), //minute		"s+": this.getSeconds(), //second		"q+": Math.floor((this.getMonth() + 3) / 3), //quarter		"S": this.getMilliseconds() //millisecond	}	if (/(y+)/.test(format)) format = format.replace(RegExp.$1,	(this.getFullYear() + "").substr(4 - RegExp.$1.length));	for (var k in o) if (new RegExp("(" + k + ")").test(format))		format = format.replace(RegExp.$1,		RegExp.$1.length == 1 ? o[k] :		("00" + o[k]).substr(("" + o[k]).length));	return format;}var curDateTime = new Date();var nowYear = curDateTime.getFullYear();var nowMonth = curDateTime.getMonth();var nowDay = curDateTime.getDate();var nowDayOfWeek = curDateTime.getDay();console.log('year:'+nowYear+',month:'+nowMonth+',day:'+nowDay+',dayofweek:'+nowDayOfWeek);var start=new Date(),end=new Date();//1昨天//curDateTime.setDate(curDateTime.getDate()-1);//start=curDateTime.format("yyyyMMdd");//end=curDateTime.format("yyyyMMdd");//console.log("昨天:"+start+"  "+end);//2前天//curDateTime.setDate(curDateTime.getDate()-2);//start=curDateTime.format("yyyyMMdd");//end=curDateTime.format("yyyyMMdd");//console.log("前天:"+start+"  "+end);//本周//start=new Date(nowYear,nowMonth,(nowDay-nowDayOfWeek+1));//start=start.format("yyyyMMdd");//end==new Date(nowYear,nowMonth,curDateTime.getDate());//end=end.format("yyyyMMdd");//console.log("本周:"+start+"  "+end);//上周//start=new Date(nowYear,nowMonth,(nowDay-nowDayOfWeek-6));//start=start.format("yyyyMMdd");//curDateTime.setDate(nowDay-nowDayOfWeek);//end=curDateTime.format("yyyyMMdd");//console.log("上周:"+start+"  "+end);//本月//start=curDateTime.format("yyyyMM01");//本月的截至日期只统计到当前//end=curDateTime.format("yyyyMMdd");//console.log("本月:"+start+"  "+end);//上月start =new Date(nowYear,nowMonth-1,1);start=start.format("yyyyMMdd");end=new Date(nowYear,nowMonth,1);end.setDate(end.getDate()-1);end=end.format("yyyyMMdd");console.log("上月:"+start+"  "+end);

  

转载于:https://www.cnblogs.com/sword-successful/p/6874591.html

你可能感兴趣的文章
Winform 菜单和工具栏控件
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
深入理解jQuery框架-框架结构
查看>>
YUI3自动加载树实现
查看>>
python知识思维导图
查看>>
当心JavaScript奇葩的逗号表达式
查看>>
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
点击复制插件clipboard.js
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>