JS获取周、月、季度日期
效果:

代码:
//用于获取日期本周、本月、本季度的js
//Author : guanghe
//文件引用方法:<script src="${staticPath}/common/js/dateUtil.js"></script>
/**
* 获取本周、本季度、本月、上月的开始日期、结束日期
*/
var now = new Date(); //当前日期
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getYear(); //当前年
nowYear += (nowYear < 2000) ? 1900 : 0; //格式化日期:yyyy-MM-dd
function formatDate(date) {
var myyear = date.getFullYear();
var mymonth = date.getMonth() + 1;
var myweekday = date.getDate();
if (mymonth < 10) {
mymonth = "0" + mymonth;
}
if (myweekday < 10) {
myweekday = "0" + myweekday;
}
return (myyear + "-" + mymonth + "-" + myweekday);
} //获得某月的天数
function getMonthDays(theYear, theMonth) {
var monthStartDate = new Date(theYear, theMonth, 1);
var monthEndDate = new Date(theYear, theMonth + 1, 1);
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
return days;
} //获得本季度的开始月份
function getQuarterStartMonth(theMonth) {
if(!theMonth) {
theMonth = nowMonth;
}
var quarterStartMonth = 0;
if (theMonth < 3) {
quarterStartMonth = 0;
}
if (2 < theMonth && theMonth < 6) {
quarterStartMonth = 3;
}
if (5 < theMonth && theMonth < 9) {
quarterStartMonth = 6;
}
if (theMonth > 8) {
quarterStartMonth = 9;
}
return quarterStartMonth;
} //获得本周的开始日期
function ghGetWeekStartDate() {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1);
return formatDate(weekStartDate);
}
//获得本周的结束日期
function ghGetWeekEndDate() {
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek) + 1);
return formatDate(weekEndDate);
} //获得下周的开始日期
function ghGetNextWeekStartDate() {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 7 + 1);
return formatDate(weekStartDate);
} //获得本月的开始日期
function ghGetMonthStartDate() {
var monthStartDate = new Date(nowYear, nowMonth, 1);
return formatDate(monthStartDate);
} //获得本月的结束日期
function ghGetMonthEndDate() {
var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowYear, nowMonth));
return formatDate(monthEndDate);
} //获得下月开始时间
function ghGetNextMonthStartDate() {
var theYear = nowYear;
var theMonth = nowMonth + 1;
if(theMonth == 12) {
theYear += 1;
theMonth = 0;
}
var nextMonthStartDate = new Date(theYear, theMonth, 1);
return formatDate(nextMonthStartDate);
} //获得本季度的开始日期
function ghGetQuarterStartDate() {
var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
return formatDate(quarterStartDate);
} //或的本季度的结束日期
function ghGetQuarterEndDate() {
var quarterEndMonth = getQuarterStartMonth() + 2;
var quarterStartDate = new Date(nowYear, quarterEndMonth,
getMonthDays(nowYear, quarterEndMonth));
return formatDate(quarterStartDate);
} function ghGetNextQuarterStartDate() {
var theYear = nowYear;
var theQuarterMonth = nowMonth + 3;
if(theQuarterMonth > 11) {
theYear += 1;
theQuarterMonth -= 12;
}
var quarterStartDate = new Date(theYear, getQuarterStartMonth(theQuarterMonth), 1);
return formatDate(quarterStartDate);
} //设置查询时间
function ghSetDate(areaName, inputName, id) {
var date = $(areaName).children(inputName);
var dateStart = date.eq(0);
var dateEnd = date.eq(1);
switch(id) {
case "cur_week" :
dateStart.val(ghGetWeekStartDate());
dateEnd.val(ghGetNextWeekStartDate());
break;
case "cur_month" :
dateStart.val(ghGetMonthStartDate());
dateEnd.val(ghGetNextMonthStartDate());
break;
case "cur_quarter" :
dateStart.val(ghGetQuarterStartDate());
dateEnd.val(ghGetNextQuarterStartDate());
break;
}
} //初始化时间区域选择控件
// name:时间组件选择器name
function ghInitWidget(name) {
var areaName = "#" + name + "_date";
var inputName = "input[name='" + name + "']";
var str = $("<label id='theLabel' class='control-label'><a id='cur_week'>本周</a> <a id='cur_month'>本月</a> <a id='cur_quarter'>本季度</a> 自定义 </label>");
$(areaName).before(str);
//点击区域按钮,高亮并搜索
$("#theLabel a").click(function() {
$("#theLabel a").css("color", "#337ab7");
$(this).css("color", "red");
ghSetDate(areaName, inputName, this.id);
$(":button.btn-search1").click();
});
//点击日期框,区域选择按钮取消高亮
$(areaName).children(inputName).click(function() {
$("#theLabel a").css("color", "#337ab7");
});
}
JS获取周、月、季度日期的更多相关文章
- 用js获取周、月第一天和最后一天(转载)
var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...
- 关于JS获取某月最后一天
发现网上用js获取某月最后一个的方式大多比较复杂,上个简单的: new Date(2013,4).toJSON().substring(0,10) new Date(2013,4,0).toLocal ...
- JS获取当前时间和日期
当前时间和日期 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1 ...
- Js获取当前时间、日期
var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份(4位,1 ...
- JS 获取当前日期的前一天日期(年月日格式)
var time = (new Date).getTime() - 24 * 60 * 60 * 1000;var yesday = new Date(time); // 获取的是前一天日期yesda ...
- JS获取当年当月最后一天日期
<html xmlns="http://www.w3.org/1999/xhtml" > <meta charset="UTF-8"> ...
- js 获取某月第一天和最后一天
1.获取某月第一天和最后一天日期 function getDateByMonth (timeStamp) { let inDate = new Date(timeStamp) let year = i ...
- java获取当前时间的年周月季度等的开始结束时间
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...
- js获取当前时间戳与日期比较
如何用javascript获取当前时间戳: 复制代码 代码示例: 方法1: var timestamp = date.parse(new date()); 结果:1280977330000 方法2: ...
随机推荐
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
在开发的过程中,有时候我们需要设计一个数据接口.有时候呢,数据接口和Web服务器又不在一起,所以就有跨域访问的问题. 第一步:简单的设计一个数据接口. 数据接口,听起来高大上,其实呢就是一个简单的Se ...
- POJ-1191-棋盘分割(动态规划)
棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13593 Accepted: 4846 Description 将一个 ...
- 解决VMware安装ubuntu16.04后无法全屏的问题
参考教程:http://www.jb51.net/os/Ubuntu/356462.html 双系统经常崩,故在windows10下装了个ubuntu的虚拟机,安装完成后无法全屏,进入系统设置调试显示 ...
- SQL Fundamentals: Basic SELECT statement基本的select语句(控制操作的现实列)(FROM-SELECT)
SQL Fundamentals || Oracle SQL语言 Capabilities of the SELECT Statement(SELECT语句的功能) Data retrieval fr ...
- LINUX常用命令大全归纳篇
su su命令是最基本的命令之一,常用于不同用户间切换. 例如,如果登录为 user1,要切换为user2,只要用如下命令: $su user2 然后系统提示输入user2口令,输入正确的口令之后就可 ...
- es match、match_phrase、query_string和term的区别
(一)text字段和keyword字段的区别 以下给出一个例子: 首先建立一个索引和类型,引入一个keywork的字段: PUT my_index { "mappings": { ...
- 【make install】自定义安装目录,添加动态链接库 【--prefix】 【ldconfig】 【LD_LIBRARY_PATH】
怎么卸载make install安装的软件? https://www.zhihu.com/question/20092756 怎么指定安装目录以及对应的添加动态库的方法 linux库在不指定安装路径时 ...
- ssm框架整合shiro
1.导入shiro相应jar包,也可下载shiro-all.jar; 2.web.xml添加shiroFilter配置,类似于mvc <!-- shiro 安全过滤器--> <fil ...
- 006-springboot2.0.4 配置log4j2,以及打印mybatis的sql
一.pom配置 普通项目 <!-- log4j2 --> <dependency> <groupId>org.apache.logging.log4j</gr ...
- 第22章 CLR寄宿和AppDomain
22.1 CLR寄宿 CLR Hosting(CLR 宿主)的概念:初始启动.Net Application时,Windows进程的执行和初始化跟传统的Win32程序是一样的,执行的还是非托管代码,只 ...