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 ...
随机推荐
- uLua 学习笔记 之一 lua脚本 打包与读取
最近要学习热更新,搜了下,选择了ulua这个插件,本人也是新人.对这个插件也是一知半解,不过幸好加了专门讨论这一块的群,这个群的技术氛围还是很浓重的,特别是已经形成了一套自己的lua学习框架.最近周末 ...
- oracle RAC--归档日志的开启方法
oracle RAC--归档日志的开启方法 2011-10-07 15:53:04 分类: Oracle oracle RAC--归档日志的开启方法 ======================= ...
- sql server2012 动态端口
我们查询 exec sp_readerrorlog 0, 1, "listening" 时可以看有端口监听,有1433 1434 53698等. 这时我们可以打看配置管理器,查看 ...
- Unity3d修改FBX文件的动画名方法
问题描述:FBX文件导入Unity3d后的动画名字一般都是 “Take 001”并且无法修改!如何修改它呢? 解决方法:解决方法其实很简单,只要你按照Unity3d的FBX文件命名规则,压根就不会存在 ...
- POJ 3440 Coin Toss(求概率)
题目链接 题意 :把硬币往棋盘上扔,分别求出硬币占1,2,3,4个格子的时候的概率. 思路 : 求出公式输出,不过要注意输出格式,我还因为输入的时候用了int类型错了好几次..... #include ...
- 内存对齐-C语言struct内存占用问题
转1个写的比较全面的. http://hubingforever.blog.163.com/blog/static/17104057920122256134681/ 本文编辑整理自:http://hi ...
- 李洪强iOS开发之【Objective-C】08-self关键字
一.Java中的this只能用在动态方法中,不能用在静态方法中 1.在动态方法中使用this关键字 1 public class Student { 2 private int age; 3 publ ...
- Hibernate逍遥游记-第5章映射一对多-01单向<many-to-one>、cascade="save-update"、lazy、TransientObjectException
1. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hi ...
- 最受欢迎的ASP.NET的CMS下载
1. Umbraco 项目地址 下载 Umbraco是一个开放源码的CMS内容管理系统,基于asp.net建立,使用mssql进行存储数据.使用Umbraco,设计师能创造出有效的XHTML标记模板和 ...
- 如何写出优秀的研究论文 Chapter 1. How to Write an A+ Research Paper
This Chapter outlines the logical steps to writing a good research paper. To achieve supreme excelle ...