/** 日期格式化 */
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 numberFormat(s, n) {
 n = n > 0 && n <= 20 ? n : 2;
 var m = parseFloat(s + "") < 0 ? "-" : "";
 s = parseFloat((Math.abs(s) + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
 var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
 t = "";
 for (i = 0; i < l.length; i++) {
  t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
 }
 return m + t.split("").reverse().join("") + "." + r;
}

/** 获取当前周的起止日期 */
Date.prototype.getCurrentWeek = function(date) {
 var today;
 if (null == date || undefined == date || date == "") {
  today = this;
 } else {
  today = date;
 }
 var week = today.getDay();
 if (week == 0) {
  week = 7
 }
 var startDate = new Date(today.valueOf() - (week - 1) * 24 * 60 * 60 * 1000);
 var endDate = new Date(startDate.valueOf() + 6 * 24 * 60 * 60 * 1000);
 var resultObj = new Object();
 resultObj['startDate'] = startDate.Format("yyyy-MM-dd");
 resultObj['endDate'] = endDate.Format("yyyy-MM-dd");
 return resultObj;
};

/** 获取当前月的起止日期 */
Date.prototype.getCurrentMonth = function(date) {
 var today;
 if (null == date || undefined == date || date == "") {
  today = this;
 } else {
  today = date;
 }
 var year = today.getFullYear();
 var month = today.getMonth();
 var firstDay = new Date(year, month, 1);
 if (month == 11) {
  month = 0;
  year++;
 } else {
  month++;
 }
 var nextDay = new Date(year, month, 1);
 var resultObj = new Object();
 resultObj['startDate'] = firstDay.Format("yyyy-MM-dd");
 resultObj['endDate'] = new Date(nextDay.valueOf() - 24 * 60 * 60 * 1000)
   .Format("yyyy-MM-dd");
 return resultObj;
};

/**减一天标准格式(yyyy-MM-dd)  */
function reduceOneDay(date) {
 var dateTime = new Date(Date.parse(date.replace(/-/g, "/")));
 var result = new Date(dateTime.getTime() - 24*60*60*1000);
 return result.Format("yyyy-MM-dd");
}

/** 通过时间返回中文星期 */
function getChineseWeek(date) {
 var d = new Date(date.replace(/-/g, "/"));
 var week = d.getDay();
 var str;
 if (week == 0) {
  str = "日";
 } else if (week == 1) {
  str = "一";
 } else if (week == 2) {
  str = "二";
 } else if (week == 3) {
  str = "三";
 } else if (week == 4) {
  str = "四";
 } else if (week == 5) {
  str = "五";
 } else if (week == 6) {
  str = "六";
 }
 return "星期" + str;
}

/**
 * 将对象转成get请求参数形式
 * 如?param1=value1&param2=value2
 */
function changeParamToStr(param) {
 var result = "";
 if (param) {
  for ( var i in param) {
   result += "&" + i + "=" + param[i];
  }
 }
 if (result != "") {
  result = "?" + result.substring(1);
 }
 return result;
}

/**处理等待遮罩层*/
function onLoading(selector, msg) {
    var offset = $(selector).offset();

var dialog = $("<div class='diy-msk'></div>").dialog({
  modal : true
 });
 $(dialog).parent().css("display", "none");
 $(dialog).parent().next().css("display", "none");
 
    $("<div class='datagrid-mask-msg'></div>").html(!msg ? "正在处理中,请稍候..." : msg)
        .appendTo(selector).css({
            display : "block",
            left : ($(document.body).outerWidth(true) - 190) / 2,
            top : offset.top + ($(selector).height() - 45) / 2
        });
}

/**移除等待遮罩层*/
function removeLoad(selector) {
 $(selector + " .panel window").remove();
 $(selector + " .window-shadow").remove();
 $(selector + " .window-mask").remove();
 $(selector + " .datagrid-mask-msg").remove();
}

/**创建上传窗口 公共方法,chunk 是否分割大文件,callBack 上传成功之后的回调*/
function Uploader(root, param,callBack){
 var addWin = $("<div style='overflow: hidden;'/>");
 var upladoer = $("<iframe/>");
 upladoer.attr({"src":root+"/plupload/uploader.jsp"+changeParamToStr(param),
   width:"100%",height:"100%",frameborder:"0",scrolling:"no"});
 addWin.window({
  title:"上传文件",
  height:350,
  width:550,
  minimizable:false,
  modal:true,
  collapsible:false,
  maximizable:false,
  resizable:false,
  content:upladoer,
  onClose:function(){
   var fw = GetFrameWindow(upladoer[0]);
   var files = fw.files;
   $(this).window("destroy");
   callBack.call(this,files);
  },
  onOpen:function(){
   var target = $(this);
   setTimeout(function(){
    var fw = GetFrameWindow(upladoer[0]);
    fw.target = target;
   },100);
  }
 });
}

/**根据iframe对象获取iframe的window对象*/
function GetFrameWindow(frame){
 return frame && typeof(frame)=="object" && frame.tagName == "IFRAME" && frame.contentWindow;
}

/**到年日期格式*/
function yearFormatter(date) {
 return date.Format("yyyy");
}
/**到年解析日期*/
function yearParser(date) {
 if(date != "") {
  date += "-01-01";
  return new Date(Date.parse(date.replace(/-/g, "/")));
 } else {
  return new Date(); 
 }
}

/**到月日期格式*/
function monthFormatter(date) {
 return date.Format("yyyy-MM");
}
/**到月解析日期*/
function monthParser(date) {
 if(date != "") {
  date += "-01";
  return new Date(Date.parse(date.replace(/-/g, "/")));
 } else {
  return new Date(); 
 }
}

/**处理datagrid合并*/
function sks_handleMerge(id, obj) {
 for(var i in obj) {
  var arr = obj[i];
  if(null != arr && arr.length > 0) {
   for(var j in arr) {
    $(id).datagrid("mergeCells", {
     index : arr[j].index,
     type : "footer",
     field : i,
     rowspan : arr[j].rowspan,
     colspan : 0
    });
   }
  }
 }
}

js常用util的更多相关文章

  1. Node.js 常用工具util包

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.isError(obj); util.is ...

  2. JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)

    JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...

  3. Node.js 常用工具

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...

  4. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  5. Js常用技巧

    摘录:http://crasywind.blog.163.com/blog/static/7820316920091011643149/ js 常用技巧 1. on contextmenu=" ...

  6. JS常用的标准函数

    原文:JS常用的标准函数 1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join( ...

  7. JS 常用功能收集

    JS 常用效果收集 1. 回到顶部>>    爱词霸

  8. JS常用正则表达式备忘录

    摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...

  9. js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用

    js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型  Number var a1 = 10; var a2 = 3.66; conso ...

随机推荐

  1. RabbitMQ事务确认机制(生产者)

    消息确认机制 生产者 消费者 消费者如何确保消息一定消费成功 队列和消费者建立长连接,推送或者拉取形式. 消费者通过自动应答或者手动应答,队列服务器等待应答结果,如果没有应答结果那么保留给下一个消费者 ...

  2. Idea 使用过程中遇到的问题记录

    1.在Idea启动Tomcat,有时候提示项目启动 failed,请查看日志,此时的日志在Tomcat主目录的日志文件中是没有的,此时的日志记录在: C:\Users\wanhua.lu\.Intel ...

  3. php中删除数组的第一个元素和最后一个元素的函数

    对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. ( ...

  4. HBase常用操作-HBaseUtil

    package com.zhen.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.Col ...

  5. web项目中添加logger日志

    在项目中添加log4j.xml文件 log4j.xml文件 <?xml version="1.0" encoding="UTF-8" ?><! ...

  6. C++ STL中Map的按Key排序跟按Value排序

    C++ STL中Map的按Key排序和按Value排序 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定 ...

  7. 如何在node.js中使用neo4j

    本章中你将会学到如何在node.js中使用neo4j图形数据库. 当你想存储或者查询和数据紧密关联的数据的时候,图形数据库很有用. neo4j是一个可有效存储,处理和查询你数据模型中紧密相连的元素的数 ...

  8. leetcode 5 Longest Palindromic Substring(Manacher算法求最长回文串)

    应用一下manacher算法就可以O(n)求出结果了.可以参考hdu3068 substr(start,length)函数是这样用的: substr 方法 返回一个从指定位置开始,并具有指定长度的子字 ...

  9. FEC之异或运算应用

    话说为啥FEC需要异或( ^/⊕ )操作呢? 异或:xor 异或运算规则: 0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0 异或运算特性: 1). a ...

  10. Nginx开启关闭脚本,php-cgi脚本

    php-cgi nginx与php进行cgi程序 php-cgi -b 127.0.0.1:9001 -c F:\ck\php5.4\php.ini 开启nginx cd F:\ck\nginx1.8 ...