//定义命名空间
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 日期插件的更多相关文章

  1. js日期插件bootstrap-datetimepicker的使用

    js日期插件——bootstrap-datetimepicker的使用心得: 在大多说的web项目中,都有日期选择器的使用.如果自己写一个日期选择器的话,费时又费力,而且不一定能写出来_(:3 」∠) ...

  2. js 日期插件 datepicker

    点击图片出现  时间 ,增加一个点击事件 <label for="" class="width80">创建日:</label> < ...

  3. 【vue学习】vue中怎么引用laydate.js日期插件

    此贴意在解决一个妹子的问题 https://q.cnblogs.com/q/101462 下载js包 http://www.layui.com/laydate/ 将laydate下载的包解压放入sta ...

  4. javascript Date format(js日期格式化) (转)

    方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) ...

  5. [转]javascript Date format(js日期格式化)

    方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q)  ...

  6. javascript Date format(js日期格式化)

    这个用这比较爽,记录一下// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年( ...

  7. [荐]javascript Date format(js日期格式化)

    cnblog:http://www.cnblogs.com/zhangpengshou/archive/2012/07/19/2599053.html 方法一: // 对Date的扩展,将 Date  ...

  8. validate.plugin.js 验证插件

    /*编写时间:2015-6-4*/ (function ($) { $.fn.isValidate = function (obj) { if ($(this).val()!="" ...

  9. laydate JS日期插件

    原文出处 简要介绍 你是时候换一款日期控件了,而layDate非常愿意和您成为工作伙伴.她致力于成为全球最用心的web日期支撑,为国内外所有从事web应用开发的同仁提供力所能及的动力.她基于原生Jav ...

随机推荐

  1. spring测试父类,使用junit-4.4.jar,spring-test.jar

    @ContextConfiguration(locations = "classpath:conf/applicationContext.xml") @RunWith(Spring ...

  2. Codeforces 337D Book of evil

    一道树形dp,写出来是因为最近也做了道类似的.这题是看了分析的思路才做出来的,但感觉很多这样的dp都是利用类似的性质.像这题的话distDown很好想,但distUp的时候就很难想了,其实只要抓住di ...

  3. 暑假集训单切赛第二场 UVA 10982 Troublemakers

    题意:将点放在两个集合,同一个集合的边保留,不同集合的边删去,使得边至少减少一半.  输出任何一种方案即可.如果不能,输出Impossible 思路:设如果两个人为一对捣蛋鬼,则two[i][j]=t ...

  4. PHP中发送邮件的几种方法总结

    1. 使用 mail() 函数 没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发.这个按照各个系统不同而定.使用参考手册. 2. 使用管道的形式 昨天刚测试成功,使用 ...

  5. hdu 1288 Hat's Tea

    这个要慢慢理解…… ;}

  6. Java Socket 使用BufferedWriter和BufferedReader要注意readLine 以及换行标志的发送

    当接收的类使用的是BufferedReader,发送的类是BufferedWriter的时候,要注意发送的一行要有换行标识符. 请看下面一个例子,服务器接收不到客户端的信息. 服务器: import ...

  7. wireshark: there are no interfaces on which a capture can be done

    权限问题,简单的直接sudo就行. 更安全的做法是: # chmod 4755 /usr/bin/dumpcap dumpcap的所在目录可用whereis命令查看.

  8. TYVJ P1016 装箱问题

    P1016 装箱问题 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 太原成成中学第2次模拟赛 第三道 描述 有一个箱子容量为v(正整数,o≤v≤20000) ...

  9. lintcode :Permutation Index 排列序号

    题目: 排列序号 给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的编号.其中,编号从1开始. 样例 例如,排列[1,2,4]是第1个排列. 解题: 这个题目感觉很坑的.感觉这只有 ...

  10. Java学习笔记之:Java引用数据类型之字符串

    一.简介 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String greeting = "H ...