/**********      日期处理函数       *********/
<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. Bloomberg SEP 12.x 迁移小记

        备份 个文件: D:\Program Files\Symantec\Symantec Endpoint Protection Manager\Server Private Key Backup ...

  2. 配置SMarty解析

    在 common/main.php中配置 View 组件 'view' => [ 'renderers' => [ 'tpl' => [ 'class' => 'yii\sma ...

  3. Scrum会议8(Beta版本)

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  4. POJ 1573 Robot Motion(BFS)

    Robot Motion Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12856   Accepted: 6240 Des ...

  5. 1、C到C++安全性增强

    1.C语言 #include <stdio.h> int main(void) { const int a = 10; //在C语言里这里不赋值可以编译的过去,但是这里不初始化以后就没办法 ...

  6. 微信自定义菜单说php json_encode不转义中文汉字的方法

    http://blog.csdn.net/qmhball/article/details/45690017 最近在开发微信自定义菜单. 接口比较简单,就是按微信要求的格式post一段json数据过去就 ...

  7. Lazarus开发平台编译后的可执行程序的减肥方法

    1.在“工程”菜单下,单击“工程选项”,原始状态的界面为: 2.将界面中的两个选项修改为如下: 3.按“确定”按钮,即可 编译以后的可执行程序就将又原来的14m变为1.66m. 1.选择: Proje ...

  8. 【php学习】时间函数

    手工画了一张图,来大体概括php中对于时间的处理函数 首先时间戳是这样“1441202665”的一串数字,虽然人看起来麻烦,但是计算机却很容易识别这样的时间表示形式. 所以给计算机看的时间是时间戳,给 ...

  9. setattribute兼容

    var spanElement = document.getElementById("mySpan"); spanElement.style.cssText = "fon ...

  10. isset和empty比较

    PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...