栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

javaScript日期工具类DateUtils详解

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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; 
    }, 
     
    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(); 
    }, 
     
    fromToday: function(days) { 
      var today = new Date(); 
      today.setDate(today.getDate() + days); 
      var date = today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate(); 
      return date; 
    }, 
     
    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 ? "u4e0au5348" : "u4e0bu5348"; 
     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; 
      }); 
    }, 
     
    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; 
    } 
  }; 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/83536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号