在javaScript中如何使用日期工具类DateUtils
这篇文章主要为大家详细介绍了javaScript日期工具类DateUtils,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了javaScript日期工具类的具体代码,供大家参考,具体内容如下
DateUtils = { patterns: { PATTERN_ERA: 'G', //Era 标志符 Era strings. For example: "AD" and "BC" PATTERN_YEAR: 'y', //年 PATTERN_MONTH: 'M', //月份 PATTERN_DAY_OF_MONTH: 'd', //月份的天数 PATTERN_HOUR_OF_DAY1: 'k', //一天中的小时数(1-24) PATTERN_HOUR_OF_DAY0: 'H', //24小时制,一天中的小时数(0-23) PATTERN_MINUTE: 'm', //小时中的分钟数 PATTERN_SECOND: 's', //秒 PATTERN_MILLISECOND: 'S', //毫秒 PATTERN_DAY_OF_WEEK: 'E', //一周中对应的星期,如星期一,周一 PATTERN_DAY_OF_YEAR: 'D', //一年中的第几天 PATTERN_DAY_OF_WEEK_IN_MONTH: 'F', //一月中的第几个星期(会把这个月总共过的天数除以7,不够准确,推荐用W) PATTERN_WEEK_OF_YEAR: 'w', //一年中的第几个星期 PATTERN_WEEK_OF_MONTH: 'W', //一月中的第几星期(会根据实际情况来算) PATTERN_AM_PM: 'a', //上下午标识 PATTERN_HOUR1: 'h', //12小时制 ,am/pm 中的小时数(1-12) PATTERN_HOUR0: 'K', //和h类型 PATTERN_ZONE_NAME: 'z', //时区名 PATTERN_ZONE_VALUE: 'Z', //时区值 PATTERN_WEEK_YEAR: 'Y', //和y类型 PATTERN_ISO_DAY_OF_WEEK: 'u', PATTERN_ISO_ZONE: 'X' }, week: { 'ch': { "0": "\u65e5", "1": "\u4e00", "2": "\u4e8c", "3": "\u4e09", "4": "\u56db", "5": "\u4e94", "6": "\u516d" }, 'en': { "0": "Sunday", "1": "Monday", "2": "Tuesday", "3": "Wednesday", "4": "Thursday", "5": "Friday", "6": "Saturday" } }, //获取当前时间 getCurrentTime: function() { var today = new Date(); var year = today.getFullYear(); var month = today.getMonth() + 1; var day = today.getDate(); var hours = today.getHours(); var minutes = today.getMinutes(); var seconds = today.getSeconds(); var timeString = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds; return timeString; }, /* * 比较时间大小 * time1>time2 return 1 * time1<time2 return -1 * time1==time2 return 0 */ compareTime: function(time1, time2) { 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 -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, 30, 31, 31, 30, 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, (this.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 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; } };
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
以上是在javaScript中如何使用日期工具类DateUtils的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务
