date.plugin.js 日期插件
//定义命名空间
var DatePlugin;
if (!DatePlugin) DatePlugin = {}; /*整理时间:2015-05-28*/ var defaultFormat = "yyyy-MM-dd"; //默认的日期格式
var totalDefaultFormat = "yyyy-MM-dd hh:mm:ss";
var pointFormat = "yyyy.MM.dd";
var slashFormat = "MM/dd/yyyy";
var textFormat = "yyyy年MM月dd日";
var totalTextFormat = "yyyy年MM月dd日hh小时mm分ss秒";
var noFormat = "yyyyMMdd"; /* 转换时间格式 */
Date.prototype.Format = function (DateFormat) {
var o = {
"M+": this.getMonth() + , //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + ) / ), //quarter
"S": this.getMilliseconds() //millisecond
}
var format = (DateFormat) ? DateFormat : defaultFormat;
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$, (this.getFullYear() + "").substr( - RegExp.$.length));
} for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$, RegExp.$.length == ? o[k] : ("" + o[k]).substr(("" + o[k]).length));
}
}
return format;
} /* 增加天数 */
Date.prototype.addDay = function (num) {
this.setDate(this.getDate() + num);
return this;
}; /* 增加月数 */
Date.prototype.addMonth = function (num) {
var tempDate = this.getDate();
this.setMonth(this.getMonth() + num);
if (tempDate != this.getDate()) this.setDate();
return this;
}; /* 增加年数 */
Date.prototype.addYear = function (num) {
var tempDate = this.getDate();
this.setYear(this.getYear() + num);
if (tempDate != this.getDate()) this.setDate();
return this;
}; /*
*获取某日日期 可传日期格式参数
*默认格式:YYYY-MM-DD
*/
DatePlugin.exactDate = { /* 获取今日日期 */
getTodayDate:function (DateFormat) {
var myDate = new Date();
return myDate.Format(DateFormat);
}, /* 获取明日日期 */
getTomorrowDate: function (DateFormat) {
var myDate = new Date().addDay();
return myDate.Format(DateFormat);
}, /* 获取昨天日期 */
getYesterdayDate: function (DateFormat) {
var myDate = new Date().addDay(-);
return myDate.Format(DateFormat);
}
} /*
*统计某个时间段的周数或天数或者返回值是数字
*/
DatePlugin.staticDate = { /*统计今年某月的天数*/
getMonthDays: function (Month) {
var myMonth = Month;
var now = new Date(); //当前日期
var nowYear = now.getFullYear(); //当前年
var monthStartDate = new Date(nowYear, myMonth, );
var monthEndDate = new Date(nowYear, myMonth + , );
var days = (monthEndDate - monthStartDate) / ( * * * );
return days;
}, /*统计某年某月总周数*/
getWeekCounts: function (year, month) {
var firstDate = new Date(year, month, );
var first = firstDate.getDay();
var endDate = ; // 周六
var firstWeekday = endDate - first + ;
var lastDay = this.getMonthDays(month) - firstWeekday;
return Math.ceil(lastDay / ) + ;
}, /*获取当前月*/
getCurrentMonth:function () {
var now = new Date(); //当前日期
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth() + ; //当前月
var nowYear = now.getFullYear(); //当前年
return nowMonth;
}
} DatePlugin.calculDate = { /*计算几天前或几天后的日期*/
getTrunsAddDay: function (date,num,DateFormat) {
var targetday_milliseconds = date.getTime() + * * * * num;
var resultDate = new Date(date.setTime(targetday_milliseconds));
return resultDate.Format(DateFormat);
}, /*获得本月的开始日期*/
getMonthStartDate: function (DateFormat) {
var now = new Date(); //当前日期
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getFullYear(); //当前年
var monthStartDate = new Date(nowYear, nowMonth, );
return monthStartDate.Format(DateFormat);
}, /*获得本月的结束日期*/
getMonthEndDate: function (DateFormat) {
var now = new Date(); //当前日期
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getFullYear(); //当前年
var monthEndDate = new Date(nowYear, nowMonth, DatePlugin.staticDate.getMonthDays(nowMonth));
return monthEndDate.Format(DateFormat);
}, /*获得某个月的开始日期*/
getMonthStart: function (currDate, DateFormat) {
var now = new Date(currDate); //当前日期
var nowMonth = parseInt(now.getMonth()); //当前月
var nowYear = now.getFullYear(); //当前年 var monthStartDate = new Date(nowYear, nowMonth, );
return monthStartDate.Format(DateFormat);
}, /*获得某个月的结束日期*/
getMonthEnd: function (currDate, DateFormat) {
var now = new Date(currDate); //当前日期
var nowMonth = parseInt(now.getMonth()); //当前月
var nowYear = now.getFullYear(); //当前年 var monthEndDate = new Date(nowYear, nowMonth, DatePlugin.staticDate.getMonthDays(nowMonth));
return monthEndDate.Format(DateFormat);
}, /*获得当天开始前一个月的开始日期*/
getBeforeMonth: function (DateFormat) {
var now = new Date(); //当前日期
var nowMonth = now.getMonth() - ; //当前月
var nowYear = now.getFullYear(); //当前年
var monthDate;
if (nowMonth != -) {
monthDate = new Date(nowYear, nowMonth);
} else {
monthDate = new Date(nowYear - , );
}
return monthDate.Format(DateFormat);
}, /*获取最近一周开始时间*/
getBeforeOneWeekStartDate: function (DateFormat) {
var nowdate = new Date();
return oneweekkdate = this.getTrunsAddDay(nowdate, -, DateFormat);
}, /*获取三个月以内的起始时间*/
getBeforeThreeMonthStartDate: function (DateFormat) {
var nowdate = new Date();
return threemonthdate = this.getTrunsAddDay(nowdate, -, DateFormat);
}, /*获取一个月以内的起始时间*/
getBeforeOneMonthStratDate: function (DateFormat) {
var nowdate = new Date();
return threemonthdate = this.getTrunsAddDay(nowdate, -, DateFormat);
} } DatePlugin.otherDate = { /*ISO8601*/
parseISO8601:function(dateStringInRange) {
var isoExp = /^\s*(\d{})-(\d\d)-(\d\d)\s*$/,
date = new Date(NaN), month,
parts = isoExp.exec(dateStringInRange); if (parts) {
month = +parts[];
date.setFullYear(parts[], month - , parts[]);
if (month != date.getMonth() + ) {
date.setTime(NaN);
}
}
return date;
}, /*处理日期格式兼容浏览器方法*/
newDate:function(str) {
str = str.split('-');
var date = new Date();
date.setUTCFullYear(str[], str[] - , str[]);
date.setUTCHours(, , , );
return date;
}
}
date.plugin.js 日期插件的更多相关文章
- js日期插件bootstrap-datetimepicker的使用
js日期插件——bootstrap-datetimepicker的使用心得: 在大多说的web项目中,都有日期选择器的使用.如果自己写一个日期选择器的话,费时又费力,而且不一定能写出来_(:3 」∠) ...
- js 日期插件 datepicker
点击图片出现 时间 ,增加一个点击事件 <label for="" class="width80">创建日:</label> < ...
- 【vue学习】vue中怎么引用laydate.js日期插件
此贴意在解决一个妹子的问题 https://q.cnblogs.com/q/101462 下载js包 http://www.layui.com/laydate/ 将laydate下载的包解压放入sta ...
- javascript Date format(js日期格式化) (转)
方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) ...
- [转]javascript Date format(js日期格式化)
方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) ...
- javascript Date format(js日期格式化)
这个用这比较爽,记录一下// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年( ...
- [荐]javascript Date format(js日期格式化)
cnblog:http://www.cnblogs.com/zhangpengshou/archive/2012/07/19/2599053.html 方法一: // 对Date的扩展,将 Date ...
- validate.plugin.js 验证插件
/*编写时间:2015-6-4*/ (function ($) { $.fn.isValidate = function (obj) { if ($(this).val()!="" ...
- laydate JS日期插件
原文出处 简要介绍 你是时候换一款日期控件了,而layDate非常愿意和您成为工作伙伴.她致力于成为全球最用心的web日期支撑,为国内外所有从事web应用开发的同仁提供力所能及的动力.她基于原生Jav ...
随机推荐
- 如何通过css控制内容显示顺序 第二行的内容优先显示
我们有时进行网页设计时为了想让用户感兴趣的内容优先显示在前,又不想改动代码的先后顺序,要怎么操作呢?(或者换种说法:源代码中要先看到A再看到B,而视觉上是先B再A)举个简单的例子,想让第二行的内容在不 ...
- JSP图片上传 公共工具类
需要jsmartcom_zh_CN.jar支持. 下载地址: http://files.cnblogs.com/simpledev/jsmartcom_zh_CN.rar <%@page imp ...
- 如何监控业务的响应速度?Cloud Insight SDK 实践分享
一直在说 Cloud Insight 是数据聚合平台,可以用 SDK 和 API 实现业务监控,如今不拿出点实践人们恐怕是不能信服.那今天本文就先简单介绍一下 SDK 可以应用在哪些方面,再举个真实用 ...
- [SQL Server 系] T-SQL数据库的创建与修改
创建数据库 USE master; GO CREATE DATABASE ToyUniverse ON ( NAME = ToyUniverse_Data, FILENAME = 'F:\Projec ...
- [转]python -m SimpleHTTPServer
本文转自:http://www.cnblogs.com/congbo/archive/2012/11/15/2769704.html 如果你急需一个简单的Web Server,但你又不想去下载并安装那 ...
- 创业草堂之十:换位思考:假如你是VC
前一回“创业草堂”的讲义是一份VC的Termsheet,这里面浓缩着VC投资关键性的理念. 今天来对Termsheet做些实质性的讲解.最有效的学习方法是创业者你亲自来扮演一回VC的角色,学习如何从V ...
- QC、IQC、IPQC、FQC、OQC
品质政策为:全面品管.贯彻制度.提供客户需求的品质:全员参与.及时处理.以达成零缺点的目标. 品质三不政策为:不接受不良品.不制造不良品.不流出不良品. QC即英文QUALITY CONTROL的简称 ...
- Android ActionBar中的下拉菜单
在ActionBar中添加下拉菜单,主要有一下几个关键步骤: 1. 生成一个SpinnerAdapter,设置ActionBar的下拉菜单的菜单项 2. 实现ActionBar.OnNavigatio ...
- tomcat升级问题
在本地开发使用myeclipse6.5自带tomcat,部署到服务器上是7.x,导致jsp页面无法解析. 所以想着在本地也使用tomcat7部署,myeclipse6.5不支持tomcat7.x,到网 ...
- java23中设计模式
原文来自:http://zz563143188.iteye.com/blog/1847029 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design patt ...