/**********      日期处理函数       *********/
<script type="text/javascript" src="${springMacroRequestContext.contextPath}/assets/js/calendar/WdatePicker.js"></script> <input class="btn btn-sm btn-default" type="button" onclick="upday(this);" id="upday" value="上一天"></input>
<input class="btn btn-sm btn-default" type="button" onclick="today(this);" id="today" value="今天"></input>
<input class="btn btn-sm btn-default" type="button" onclick="nextday(this);" id="nextday" value="下一天"></input> <script type="text/javascript">
$(document).ready(function() {
$('#tableBill').DataTable({
"ajax": {
"url": getContext() + "********",
"type": "POST",
"data": function(param) {
param.billing_type = $("#billing_type").val();
param.Stime = $("#startTime").val();
param.Etime = $("#endTime").val();
param.show_type = $("#show_type").val();
}
},
/* 查询结果 */
function getResult() {
$('#tableBill').DataTable().ajax.reload(null, false);
if ($("#show_type").val() === "month") {
document.getElementById("upday").value = "上一月";
document.getElementById("today").value = "本月";
document.getElementById("nextday").value = "下一月";
} else {
document.getElementById("upday").value = "上一天";
document.getElementById("today").value = "今天";
document.getElementById("nextday").value = "下一天";
}
}
/*时间转化函数*/
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;
} /*按天获取天期*/
function GetDateStr(AddDayCount) {
var dd = null;
if ($("#startTime").val() == null || $("#startTime").val() == "" && $("#endTime").val() == null || $("#endTime").val() == "") {
dd = new Date();
} else {
dd = new Date(Date.parse($("#endTime").val()));
}
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的天期
var y = dd.getFullYear();
var m = dd.getMonth() + 1; //获取当前月份的天期
if (m < 10) {
m = "0" + m;
}
var d = dd.getDate();
if (d < 10) {
d = "0" + d;
}
return y + "-" + m + "-" + d;
}
/*根据传入天期获取当月最后一天的时间*/
function getLastDay(date,num) {
if (date==null || date=="") {
date = new Date().format("yyyy-MM-dd");
}
var new_year = date.split("-")[0]; //取当前的年份
var new_month = date.split("-")[1]++;//取下一个月的第一天,方便计算(最后一天不固定)
if(date.split("-")[1]>12) {
new_month -=12; //月份减
new_year++; //年份增
}
new_month=+new_month+num;
if(new_month>12) {
new_month -=12; //月份减
new_year++; //年份增
}
if (new_month<10) {
new_month = "0"+new_month;
}
if (new_month<1) {
new_month = 12 ;
new_year--;
} var new_date = new Date(new_year,new_month,01);
return new_year+"-"+new_month+"-"+(new Date(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期
}
/*根据传入天期获取当月第一天的时间*/
function getFirstDay(date,num){
if (date==null || date=="") {
date = new Date().format("yyyy-M-dd");
}
var new_year = date.split("-")[0]; //取当前的年份
var new_month = date.split("-")[1]; //取出来当前月份
new_month=+new_month+num;
if(new_month>12) {
new_month -=12; //月份减
new_year++; //年份增
}
if (new_month<10) {
new_month = "0"+new_month;
}
if (new_month<1) {
new_month =12;
new_year--;
} return new_year+"-"+new_month+"-"+"01";
} /*查询上一天、月*/
function upday(obj) {
if (obj.value == "上一天") {
document.getElementById("startTime").value = GetDateStr(-2);
document.getElementById("endTime").value = GetDateStr(-1);
$('#tableBill').DataTable().ajax.reload(null, false);
} else if (obj.value == "上一月") { document.getElementById("startTime").value = getFirstDay($("#endTime").val(),-1);
document.getElementById("endTime").value = getLastDay($("#endTime").val(),-1);
$('#tableBill').DataTable().ajax.reload(null, false);
}
}
/*查询本天、月*/ function today(obj) {
if (obj.value == "今天") {
document.getElementById("startTime").value = "";
document.getElementById("endTime").value = "";
$('#tableBill').DataTable().ajax.reload(null, false);
} else if (obj.value == "本月") {
document.getElementById("startTime").value = "";
document.getElementById("endTime").value = "";
$('#tableBill').DataTable().ajax.reload(null, false);
}
}
/*查询下一天、月*/ function nextday(obj) {
if (obj.value == "下一天") {
var now = new Date();
var nowStr = now.format("yyyy-MM-dd");
if ($("#startTime").val() == null || $("#startTime").val() == "" &&
$("#endTime").val() == null || $("#endTime").val() == "" || $("#endTime").val() == nowStr) {
javascript: void(0);
} else {
document.getElementById("startTime").value = GetDateStr(0);
document.getElementById("endTime").value = GetDateStr(+1);
$('#tableBill').DataTable().ajax.reload(null, false);
}
} else if (obj.value == "下一月") {
var now = new Date();
var nowStr = now.format("yyyy-MM-dd");
if ($("#startTime").val() == null || $("#startTime").val() == "" &&
$("#endTime").val() == null || $("#endTime").val() == "" || $("#startTime").val() == getFirstDay(nowStr,0)) {
javascript: void(0);
} else {
document.getElementById("startTime").value = getFirstDay($("#endTime").val(),+1);
document.getElementById("endTime").value = getLastDay($("#endTime").val(),+1);
$('#tableBill').DataTable().ajax.reload(null, false);
}
}
}
</script>

js工具类大全的更多相关文章

  1. 分享非常好用的前端分页js工具类 灵活 简单易懂

    分享自己封装的前端分页js工具类  下面是默认样式效果截图 可以随意更改js及css 很灵活 /** * pageSize, 每页显示数 * pageIndex, 当前页数 * pageCount 总 ...

  2. JS 工具类

    之前工作用的JavaScript比较多,总结了一下工具类,和大家分享一下,有不足之处还请多多见谅!! 1. 数组工具类(arrayUtils) var arrayUtils = {}; (functi ...

  3. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  4. 对象属性拷贝工具类大全==>Bean的属性拷贝从此不用愁

    大家在做java开发时,肯定会遇到api层参数对象传递给服务层,或者把service层的对象传递给dao层,他们之间又不是同一个类型对象,但字段又是一样,如果还是用普通的get.set方式来处理话,比 ...

  5. Java Utils工具类大全(转)

    源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起 ...

  6. Android 工具类大全

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311 1.日志工具类L.java package com.zhy.uti ...

  7. 自己项目中PHP常用工具类大全分享

    <?php /** * 助手类 * @author www.shouce.ren * */ class Helper { /** * 判断当前服务器系统 * @return string */ ...

  8. Java Utils工具类大全

    源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起 ...

  9. springboot2.2.2企业级项目整合redis与redis 工具类大全

    1.springboot2.2.2整合redis教程很多,为此编写了比较完整的redis工具类,符合企业级开发使用的工具类 2.springboot与redis maven相关的依赖 <depe ...

随机推荐

  1. [转]IE11下Forms身份认证无法保存Cookie的问题

    本文转自:http://www.cnblogs.com/jaxu/p/3698377.html ASP.NET中使用Forms身份认证常见的做法如下: 1. 网站根目录下的Web.config添加au ...

  2. Task Scheduler Error and Success Constants (Windows)

    If an error occurs, the Task Scheduler APIs can return one of the following error codes as an HRESUL ...

  3. HDU 5521 Meeting(虚拟节点+最短路)

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total ...

  4. [kuangbin带你飞]专题六 最小生成树

    学习最小生成树已经有一段时间了 做一些比较简单的题还算得心应手..花了三天的时间做完了kuangbin的专题 写一个题解出来记录一下(虽然几乎都是模板题) 做完的感想:有很多地方都要注意 n == 1 ...

  5. Redis 笔记与总结2 String 类型和 Hash 类型

    Linux 版本信息: cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息) CentOS release 6.6 (Final) ...

  6. Javascript 笔记与总结(1-1)作用域

    以语言的角度学习 Js 的底层原理(与 DOM 无关):① 作用域链 ② 词法分析 ③ 闭包 ④ 面向对象(原型链) ① 作用域链 例1 <script> var c = 5; funct ...

  7. Rails--bundle exec rake db:migrate

    --新建表: def up create_table :[TABLE_NAME] do |t| t.column :[NUM], :integer t.column :[NAME], :string ...

  8. SQL--查询相同字段的数据

    select city, statefrom state_county_citywhere city in (select city from state_county_city group by c ...

  9. try...except 抛出错误

  10. 医生加号页改版,就一个Bug, 看医生工作台一期需求

    8/8日报 分级埋点:     [MobClick event:UmengPagePlusDoctor attributes:@{@"page":@"plusPage&q ...