JavaScript日期工具类DateUtils定义与用法示例

前端之家收集整理的这篇文章主要介绍了JavaScript日期工具类DateUtils定义与用法示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了JavaScript日期工具类DateUtils定义与用法分享给大家供大家参考,具体如下:

time2 return 1 * time1 Date.parse(time2.replace(/-/g,"/"))) { return 1; } else if(Date.parse(time1.replace(/-/g,"/")) < Date.parse(time2.replace(/-/g,"/"))) { return -1; } else if(Date.parse(time1.replace(/-/g,"/")) == Date.parse(time2.replace(/-/g,"/"))) { return 0; } },//是否闰年 isLeapYear: function(year) { return((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0); },//获取某个月的天数,从0开始 getDaysOfMonth: function(year,month) { return [31,(this.isLeapYear(year) ? 29 : 28),31,30,31][month]; },getDaysOfMonth2: function(year,month) { // 将天置为0,会获取其上个月的最后一天 month = parseInt(month) + 1; var date = new Date(year,month,0); return date.getDate(); },/*距离现在几天的日期:负数表示今天之前的日期,0表示今天,整数表示未来的日期 * 如-1表示昨天的日期,0表示今天,2表示后天 */ fromToday: function(days) { var today = new Date(); today.setDate(today.getDate() + days); var date = today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate(); return date; },/** * 日期时间格式化 * @param {Object} dateTime 需要格式化的日期时间 * @param {String} pattern 格式化的模式,如yyyy-MM-dd hh(HH):mm:ss.S a k K E D F w W z Z */ formt: function(dateTime,pattern) { var date = new Date(dateTime); if(Bee.StringUtils.isBlank(pattern)) { return date.toLocaleString(); } return pattern.replace(/([a-z])\1*/ig,function(matchStr,group1) { var replacement = ""; switch(group1) { case Bee.DateUtils.patterns.PATTERN_ERA: //G break; case Bee.DateUtils.patterns.PATTERN_WEEK_YEAR: //Y case Bee.DateUtils.patterns.PATTERN_YEAR: //y replacement = date.getFullYear(); break; case Bee.DateUtils.patterns.PATTERN_MONTH: //M var month = date.getMonth() + 1; replacement = (month < 10 && matchStr.length >= 2) ? "0" + month : month; break; case Bee.DateUtils.patterns.PATTERN_DAY_OF_MONTH: //d var days = date.getDate(); replacement = (days < 10 && matchStr.length >= 2) ? "0" + days : days; break; case Bee.DateUtils.patterns.PATTERN_HOUR_OF_DAY1: //k(1~24) var hours24 = date.getHours(); replacement = hours24; break; case Bee.DateUtils.patterns.PATTERN_HOUR_OF_DAY0: //H(0~23) var hours24 = date.getHours(); replacement = (hours24 < 10 && matchStr.length >= 2) ? "0" + hours24 : hours24; break; case Bee.DateUtils.patterns.PATTERN_MINUTE: //m var minutes = date.getMinutes(); replacement = (minutes < 10 && matchStr.length >= 2) ? "0" + minutes : minutes; break; case Bee.DateUtils.patterns.PATTERN_SECOND: //s var seconds = date.getSeconds(); replacement = (seconds < 10 && matchStr.length >= 2) ? "0" + seconds : seconds; break; case Bee.DateUtils.patterns.PATTERN_MILLISECOND: //S var milliSeconds = date.getMilliseconds(); replacement = milliSeconds; break; case Bee.DateUtils.patterns.PATTERN_DAY_OF_WEEK: //E var day = date.getDay(); replacement = Bee.DateUtils.week['ch'][day]; break; case Bee.DateUtils.patterns.PATTERN_DAY_OF_YEAR: //D replacement = Bee.DateUtils.dayOfTheYear(date); break; case Bee.DateUtils.patterns.PATTERN_DAY_OF_WEEK_IN_MONTH: //F var days = date.getDate(); replacement = Math.floor(days / 7); break; case Bee.DateUtils.patterns.PATTERN_WEEK_OF_YEAR: //w var days = Bee.DateUtils.dayOfTheYear(date); replacement = Math.ceil(days / 7); break; case Bee.DateUtils.patterns.PATTERN_WEEK_OF_MONTH: //W var days = date.getDate(); replacement = Math.ceil(days / 7); break; case Bee.DateUtils.patterns.PATTERN_AM_PM: //a var hours24 = date.getHours(); replacement = hours24 < 12 ? "\u4e0a\u5348" : "\u4e0b\u5348"; break; case Bee.DateUtils.patterns.PATTERN_HOUR1: //h(1~12) var hours12 = date.getHours() % 12 || 12; //0转为12 replacement = (hours12 < 10 && matchStr.length >= 2) ? "0" + hours12 : hours12; break; case Bee.DateUtils.patterns.PATTERN_HOUR0: //K(0~11) var hours12 = date.getHours() % 12; replacement = hours12; break; case Bee.DateUtils.patterns.PATTERN_ZONE_NAME: //z replacement = Bee.DateUtils.getZoneNameValue(date)['name']; break; case Bee.DateUtils.patterns.PATTERN_ZONE_VALUE: //Z replacement = Bee.DateUtils.getZoneNameValue(date)['value']; break; case Bee.DateUtils.patterns.PATTERN_ISO_DAY_OF_WEEK: //u break; case Bee.DateUtils.patterns.PATTERN_ISO_ZONE: //X break; default: break; } return replacement; }); },/** * 计算一个日期是当年的第几天 * @param {Object} date */ dayOfTheYear: function(date) { var obj = new Date(date); var year = obj.getFullYear(); var month = obj.getMonth(); //从0开始 var days = obj.getDate(); var daysArr = [31,31]; for(var i = 0; i < month; i++) { days += daysArr[i]; } return days; },//获得时区名和值 getZoneNameValue: function(dateObj) { var date = new Date(dateObj); date = new Date(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate())); var arr = date.toString().match(/([A-Z]+)([-+]\d+:?\d+)/); var obj = { 'name': arr[1],'value': arr[2] }; return obj; } }; //用法示例 console.log(DateUtils.getCurrentTime())//获取当前时间 console.log(DateUtils.compareTime('2018-8-1','2018-9-3'))//比较时间 console.log(DateUtils.isLeapYear('2018'))//是否闰年 console.log(DateUtils.getDaysOfMonth('2018','9'))//获取指定月份的天数(从0计数) console.log(DateUtils.dayOfTheYear('2018-9-3'))//计算指定日期是当年第几天

使用在线HTML/CSS/JavaScript代码运行工具:测试运行结果如下:

PS:这里再为大家推荐几款比较实用的天数计算在线工具供大家使用:

在线日期/天数计算器:

在线日期计算器/相差天数计算器:

在线日期天数差计算器:

在线天数计算器:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《

希望本文所述对大家JavaScript程序设计有所帮助。

猜你在找的JavaScript相关文章