jquery 时间运算、格式化的方法扩张
/*
函数:日期 加n天
参数:n是天数
返回:n天后的日期
*/
Date.prototype.addDays = Date.prototype.addDays || function (n) {
this.setDate(this.getDate() + n);
return this;
}
/*
函数:日期 减n天
参数:n是天数
返回:n天后的日期
*/
Date.prototype.minusDays = Date.prototype.minusDays || function (n) {
this.setDate(this.getDate() - n);
return this;
}
/*
函数:日期 加n天
参数:n是天数
返回:n天后的日期
*/
Date.prototype.getWeek = Date.prototype.getWeek || function (date) {
var n = date.getDay();
var rtnStr = "";
switch (n) {
case 0: { rtnStr = "星期日"; break; }
case 1: { rtnStr = "星期一"; break; }
case 2: { rtnStr = "星期二"; break; }
case 3: { rtnStr = "星期三"; break; }
case 4: { rtnStr = "星期四"; break; }
case 5: { rtnStr = "星期五"; break; }
case 6: { rtnStr = "星期六"; break; }
default: { rtnStr = ""; break; }
}
return rtnStr;
}
/*
函数:把字符串转换为日期对象
参数:yyyy-mm-dd或dd/mm/yyyy形式的字符串
返回:Date对象
注:IE下不支持直接实例化日期对象,如new Date("2011-04-06")
*/
Date.prototype.convertDate = function (date) {
var flag = true;
var dateArray = date.split("-");
if (dateArray.length != 3) {
dateArray = date.split("/");
if (dateArray.length != 3) {
return null;
}
flag = false;
}
var newDate = new Date();
if (flag) {
// month从0开始
newDate.setFullYear(dateArray[0], dateArray[1] - 1, dateArray[2]);
}
else {
newDate.setFullYear(dateArray[2], dateArray[1] - 1, dateArray[0]);
}
newDate.setHours(0, 0, 0);
return newDate;
}; /*
函数:计算两个日期之间的差值
参数:date是日期对象
flag:ms-毫秒,s-秒,m-分,h-小时,d-天,M-月,y-年
返回:当前日期和date两个日期相差的毫秒/秒/分/小时/天
*/
Date.prototype.dateDiff = function (date, flag) {
var msCount = 1;
date = new Date(date);
switch (flag) {
case "ms":
msCount = 1;
break;
case "s":
this.setMilliseconds(0);
date.setMilliseconds(0);
msCount = 1000;
break;
case "m":
this.setSeconds(0, 0);
date.setSeconds(0, 0);
msCount = 60 * 1000;
break;
case "h":
this.setMinutes(0, 0, 0);
date.setMinutes(0, 0, 0);
msCount = 60 * 60 * 1000;
break;
case "d":
this.setHours(0, 0, 0, 0);
date.setHours(0, 0, 0, 0);
msCount = 24 * 60 * 60 * 1000;
break;
}
var diff = this.getTime() - date.getTime(); return Math.floor(diff / msCount);
}; /*
函数:格式化日期
参数:formatStr-格式化字符串
d:将日显示为不带前导零的数字,如1
dd:将日显示为带前导零的数字,如01
ddd:将日显示为缩写形式,如Sun
dddd:将日显示为全名,如Sunday
M:将月份显示为不带前导零的数字,如一月显示为1
MM:将月份显示为带前导零的数字,如01
MMM:将月份显示为缩写形式,如Jan
MMMM:将月份显示为完整月份名,如January
yy:以两位数字格式显示年份
yyyy:以四位数字格式显示年份
h:使用12小时制将小时显示为不带前导零的数字,注意||的用法
hh:使用12小时制将小时显示为带前导零的数字
H:使用24小时制将小时显示为不带前导零的数字
HH:使用24小时制将小时显示为带前导零的数字
m:将分钟显示为不带前导零的数字
mm:将分钟显示为带前导零的数字
s:将秒显示为不带前导零的数字
ss:将秒显示为带前导零的数字
l:将毫秒显示为不带前导零的数字
ll:将毫秒显示为带前导零的数字
tt:显示am/pm
TT:显示AM/PM
返回:格式化后的日期
*/
Date.prototype.format = function (formatStr) {
var date = this; /*
函数:填充0字符
参数:value-需要填充的字符串, length-总长度
返回:填充后的字符串
*/
var zeroize = function (value, length) {
if (!length) {
length = 2;
}
value = new String(value);
for (var i = 0, zeros = ''; i < (length - value.length); i++) {
zeros += '0';
}
return zeros + value;
}; return formatStr.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|M{1,4}|yy(?:yy)?|([hHmstT])\1?|[lLZ])\b/g, function ($0) {
switch ($0) {
case 'd': return date.getDate();
case 'dd': return zeroize(date.getDate());
case 'ddd': return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][date.getDay()];
case 'dddd': return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][date.getDay()];
case 'M': return date.getMonth() + 1;
case 'MM': return zeroize(date.getMonth() + 1);
case 'MMM': return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][date.getMonth()];
case 'MMMM': return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][date.getMonth()];
case 'yy': return new String(date.getFullYear()).substr(2);
case 'yyyy': return date.getFullYear();
case 'h': return date.getHours() % 12 || 12;
case 'hh': return zeroize(date.getHours() % 12 || 12);
case 'H': return date.getHours();
case 'HH': return zeroize(date.getHours());
case 'm': return date.getMinutes();
case 'mm': return zeroize(date.getMinutes());
case 's': return date.getSeconds();
case 'ss': return zeroize(date.getSeconds());
case 'l': return date.getMilliseconds();
case 'll': return zeroize(date.getMilliseconds());
case 'tt': return date.getHours() < 12 ? 'am' : 'pm';
case 'TT': return date.getHours() < 12 ? 'AM' : 'PM';
}
});
}
jquery 时间运算、格式化的方法扩张的更多相关文章
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...
- (转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...
- MVC中的时间js格式化
记录下我遇到的一个,MVC中post请求返回一个JSON字符串,其中包含数据库中的时间格式(如:/Date(10000000000)/),不知道怎么处理.百度的方法都不适用,经自己研究,做成了一个Jq ...
- 转:前端js、jQuery实现日期格式化、字符串格式化
1. js仿后台的字符串的StringFormat方法 在做前端页面时候,经常会对字符串进行拼接处理,但是直接使用字符串拼接,不但影响阅读,而且影响执行效率,且jQuery有没有定义字符串的Strin ...
- Python时间日期格式化之time与datetime模块总结
1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
jquery提供的serialize方法能够实现. $("#searchForm").serialize();但是,观察输出的信息,发现serialize()方法做的是将表单中的数 ...
- 前端js、jQuery实现日期格式化、字符串格式化
1. js仿后台的字符串的StringFormat方法 在做前端页面时候,经常会对字符串进行拼接处理,但是直接使用字符串拼接,不但影响阅读,而且影响执行效率,且jQuery有没有定义字符串的Strin ...
- Python时间日期格式化之time与datetime模块
1 引言 在实际开发过程中,我们经常会用到日期或者时间,那么在Python中我们怎么获取时间,以及如何将时间转换为我们需要的格式呢?在之前的开发中,也曾遇到time.datetime等模块下的不同函数 ...
- jmeter获取当前时间、时间运算、时间比较、时间转换
获取当前时间,转换为指定格式,放入参数 方法一:函数 SSS是毫秒 2020-04-24 13:00:27.446 ${__time(yyyy-MM-dd HH:mm:ss.SSS,)} 方法二:be ...
随机推荐
- OC中的字典NSDictionary
========================== 字典 ========================== NSDictionary * dict = [[NSDictionary alloc] ...
- IOS开发之功能模块--给任意的UIView添加点击事件
前言:好久没写博客,今天来一波.我在实际项目开发中,会遇到这样功能需求:我已经搭好了iOS的UI界面,但是很多界面的子View用了UIView,然后这些UIView中用了UILabel和UIImage ...
- VMware安装增强工具
1. 开启linux,进入系统 2. 点击菜单中的"虚拟机"----"install vmware-tools" 命令 cd /mkdir /aaamkdir ...
- .net 读写记事本文件
这是读取文件的代码 StreamReader myreader = File.OpenText(_filepath);//读取记事本文件 string s = ""; s = my ...
- SQLServer安装正常服务启动正常却无法连接
最近给服务器安装sql2008R2版本,发现一个抓狂的问题,我自己觉得,用sql多年,从2005版本到2012版本都从安装到使用都很熟练,竟然被2008版本难住了 给服务器正常安装,sql2008r2 ...
- SVN安装使用小结
SVN在实际的项目开发中有很广泛的用途.一开始接触SVN(Subversion),思路并不清楚,现在总算理清了. 声明:本文并不是系统地对SVN做介绍,而是笔者的使用总结,个人认为的一些要点,可能对初 ...
- 【转载】关于Alipay支付宝接口(Java版)
转载自:http://blog.163.com/lai_chao/blog/static/70340789201412724619514/ 1.alipay 双功能支付简介 2.alipay 提交支付 ...
- gulp系列:简单实践
coffescript测试源码 gulp = require('gulp') #删除 1.清空目录 常用插件 gulp-clean .del (nodejs模块) del = require('d ...
- C语言 时间函数的学习和总结
一直都是以简单的time_t t,time(&t),ctime(&t)来表示时间,后来要以时间为日志文件的名字时,就有点蒙逼了.学习一下. tm结构: struct tm { ...
- emacs 新手笔记(三) —— 为 emacs 做一点简单的定制
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 在 emacs 启动时,会加载 ~/.emacs 文件.在该文件中编辑一些 lisp 代码,是一种最为简单的 ...