/**********      日期处理函数       *********/
<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. HFS 2.3x 远程命令执行(抓鸡黑客末日)

    从某论坛看见的,转载部分: 这个程序在国内用的特别多,特别是那些抓肉鸡的黑阔. http://localhost:80/?search==%00{.exec|cmd.} http://localhos ...

  2. 【应用笔记】【AN002】通过iTool2基于MinGW平台读写EEPROM

    为了增加大家 DIY 的乐趣,XiaomaGee今天为大家只做了一篇使用iTool2内置的USB转I2C来读写EEPROM的方法和代码. iTool2简介 iTool2为银杏公司面向电子类研发工程师推 ...

  3. 使用Eclipse自带Web Service插件(Axis1.4)生成Web Service服务端/客户端

    创建一个名字为math的Java web工程,并将WSDL文件拷入该工程中 将Axis所需的jar包拷贝至WebRoot\WEB-INF\lib目录下,这些jar包会自动导入math工程中 一,生成W ...

  4. PHP 中和 HTTP 相关的函数及使用

    ① get_headers 方法:取得服务器响应一个 HTTP 请求所发送的所有标头 例如: <?php $httpinfo = get_headers('http://www.baidu.co ...

  5. 常用的API接口,返回JSON格式的服务API接口

    物流接口 快递接口: http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号 ps:快递公司编码:申通="shentong&qu ...

  6. $().html(value) vs $().empty().append(value)

    当需要清空某个dom结点内容时,我所知道的有两种方法: 1.Element.removeChild(child) // Removing all children from an element va ...

  7. Linux 关闭防火墙命令

    用linux自己来访问web是可以的 比如 192.168.2.20就可以访问本机的相关页面 用192.168.2.20/phpmyadmin就可以访问数据库相关内容 可是,当别的局域网的电脑想访问时 ...

  8. locations in main memory to be referenced by descriptive names rather than by numeric addresses

    Computer Science An Overview _J. Glenn Brookshear _11th Edition Chapter 6 Programming Languages As s ...

  9. JS初学者必备的几个经典案例(二)!!!

    一.写出当前年份的前后5年的日期表 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  10. JS中基本window对象操作

    ---恢复内容开始--- 一.使用window中的属性时   window.属性,直接跟属性名.而调用window的函数时  window.hanshu(): 要在其函数名后面加括号. 二.windo ...