zl程序教程

您现在的位置是:首页 >  其他

当前栏目

日期工具类详解编程语言

2023-06-13 09:11:48 时间
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": "日", "1": "一", "2": "二", "3": "三", "4": "四", "5": "五", "6": "六" en: { "0": "Sunday", "1": "Monday", "2": "Tuesday", "3": "Wednesday", "4": "Thursday", "5": "Friday", "6": "Saturday" /** * @description 获取当前时间 * @return {string} 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; /** * @description 比较时间大小 * @param time1 * @param time2 * @return {number} 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; /** * @description 是否闰年 * @param year * @return {boolean} isLeapYear: function(year) { return ((year % 4 === 0 year % 100 !== 0) || year % 400 === 0); /** * @description 获取某个月的天数,从0开始 * @param year * @param month * @return {*} getDaysOfMonth: function(year, month) { return [31, (this.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; /** * @description 获取某个月的天数1-12月 * @param year * @param month * @return {*} getDaysOfMonth2: function(year, month) { // 将天置为0,会获取其上个月的最后一天 var date = new Date(year, month, 0); return date.getDate(); /** * @description 距离现在几天的日期:负数表示今天之前的日期,0表示今天,整数表示未来的日期如-1表示昨天的日期,0表示今天,2表示后天 * @param days * @return {string} fromToday: function(days) { var today = new Date(); today.setDate(today.getDate() + days); var date = today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate(); return date; /** * @description 日期时间格式化 * @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 (pattern == undefined || pattern ==) { return date.toLocaleString(); return pattern.replace(/([a-z])/1*/ig, function(matchStr, group1) { var replacement = ""; switch (group1) { case DateUtils.patterns.PATTERN_ERA: //G break; case DateUtils.patterns.PATTERN_WEEK_YEAR: //Y case DateUtils.patterns.PATTERN_YEAR: //y replacement = date.getFullYear(); break; case DateUtils.patterns.PATTERN_MONTH: //M var month = date.getMonth() + 1; replacement = (month 10 matchStr.length = 2) ? "0" + month : month; break; case DateUtils.patterns.PATTERN_DAY_OF_MONTH: //d var days = date.getDate(); replacement = (days 10 matchStr.length = 2) ? "0" + days : days; break; case DateUtils.patterns.PATTERN_HOUR_OF_DAY1: //k(1~24) var hours24 = date.getHours(); replacement = hours24; break; case DateUtils.patterns.PATTERN_HOUR_OF_DAY0: //H(0~23) var hours24 = date.getHours(); replacement = (hours24 10 matchStr.length = 2) ? "0" + hours24 : hours24; break; case DateUtils.patterns.PATTERN_MINUTE: //m var minutes = date.getMinutes(); replacement = (minutes 10 matchStr.length = 2) ? "0" + minutes : minutes; break; case DateUtils.patterns.PATTERN_SECOND: //s var seconds = date.getSeconds(); replacement = (seconds 10 matchStr.length = 2) ? "0" + seconds : seconds; break; case DateUtils.patterns.PATTERN_MILLISECOND: //S var milliSeconds = date.getMilliseconds(); replacement = milliSeconds; break; case DateUtils.patterns.PATTERN_DAY_OF_WEEK: //E var day = date.getDay(); replacement = DateUtils.week[ch][day]; break; case DateUtils.patterns.PATTERN_DAY_OF_YEAR: //D replacement = DateUtils.dayOfTheYear(date); break; case DateUtils.patterns.PATTERN_DAY_OF_WEEK_IN_MONTH: //F var days = date.getDate(); replacement = Math.floor(days / 7); break; case DateUtils.patterns.PATTERN_WEEK_OF_YEAR: //w var days = DateUtils.dayOfTheYear(date); replacement = Math.ceil(days / 7); break; case DateUtils.patterns.PATTERN_WEEK_OF_MONTH: //W var days = date.getDate(); replacement = Math.ceil(days / 7); break; case DateUtils.patterns.PATTERN_AM_PM: //a var hours24 = date.getHours(); replacement = hours24 12 ? "上午" : "下午"; break; case 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 DateUtils.patterns.PATTERN_HOUR0: //K(0~11) var hours12 = date.getHours() % 12; replacement = hours12; break; case DateUtils.patterns.PATTERN_ZONE_NAME: //z replacement = DateUtils.getZoneNameValue(date)[name]; break; case DateUtils.patterns.PATTERN_ZONE_VALUE: //Z replacement = DateUtils.getZoneNameValue(date)[value]; break; case DateUtils.patterns.PATTERN_ISO_DAY_OF_WEEK: //u break; case DateUtils.patterns.PATTERN_ISO_ZONE: //X break; default: break; return replacement; }); /** * @description 计算一个日期是当年的第几天 * @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; /** * @description 获得时区名和值 * @param dateObj * @return {{name: *, value: *}} 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; };

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18085.html

cjava