欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javaScript日期工具類DateUtils詳解

 更新時間:2017年12月08日 09:01:04   作者:老鼠擰刀滿街找貓  
這篇文章主要為大家詳細介紹了javaScript日期工具類DateUtils,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了javaScript日期工具類的具體代碼,供大家參考,具體內(nèi)容如下

DateUtils = { 
    patterns: { 
      PATTERN_ERA: 'G', //Era 標志符 Era strings. For example: "AD" and "BC" 
      PATTERN_YEAR: 'y', //年 
      PATTERN_MONTH: 'M', //月份 
      PATTERN_DAY_OF_MONTH: 'd', //月份的天數(shù) 
      PATTERN_HOUR_OF_DAY1: 'k', //一天中的小時數(shù)(1-24) 
      PATTERN_HOUR_OF_DAY0: 'H', //24小時制,一天中的小時數(shù)(0-23) 
      PATTERN_MINUTE: 'm', //小時中的分鐘數(shù) 
      PATTERN_SECOND: 's', //秒 
      PATTERN_MILLISECOND: 'S', //毫秒 
      PATTERN_DAY_OF_WEEK: 'E', //一周中對應(yīng)的星期,如星期一,周一 
      PATTERN_DAY_OF_YEAR: 'D', //一年中的第幾天 
      PATTERN_DAY_OF_WEEK_IN_MONTH: 'F', //一月中的第幾個星期(會把這個月總共過的天數(shù)除以7,不夠準確,推薦用W) 
      PATTERN_WEEK_OF_YEAR: 'w', //一年中的第幾個星期 
      PATTERN_WEEK_OF_MONTH: 'W', //一月中的第幾星期(會根據(jù)實際情況來算) 
      PATTERN_AM_PM: 'a', //上下午標識 
      PATTERN_HOUR1: 'h', //12小時制 ,am/pm 中的小時數(shù)(1-12) 
      PATTERN_HOUR0: 'K', //和h類型 
      PATTERN_ZONE_NAME: 'z', //時區(qū)名 
      PATTERN_ZONE_VALUE: 'Z', //時區(qū)值 
      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); 
    }, 
    //獲取某個月的天數(shù),從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(); 
    }, 
    /*距離現(xiàn)在幾天的日期:負數(shù)表示今天之前的日期,0表示今天,整數(shù)表示未來的日期 
     * 如-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轉(zhuǎn)為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; 
    }, 
    //獲得時區(qū)名和值 
    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; 
    } 
  }; 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js中斷 forEach 循環(huán)的方法匯總

    js中斷 forEach 循環(huán)的方法匯總

    這篇文章主要介紹了js中斷 forEach 循環(huán)的幾種方法,主要方法還是通過其它方式代替 forEach 循環(huán)的中斷,只有方法4 使用 try-catch 結(jié)構(gòu)是實際意義上中斷 forEach 循環(huán),需要的朋友可以參考下
    2023-10-10
  • 微信小程序?qū)崿F(xiàn)簡單跑馬燈效果

    微信小程序?qū)崿F(xiàn)簡單跑馬燈效果

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)簡單跑馬燈效果 ,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 中文字符串截取的js函數(shù)代碼

    中文字符串截取的js函數(shù)代碼

    有時在顯示某段文字的時候,可能會太長,影響我們頁面的顯示效果,如果僅是英文,那么我們可以用String.substring(start, end)函數(shù)就已經(jīng)夠用了,但是通常我們都會遇到既有英文,又有漢字的情況
    2013-04-04
  • 微信小程序canvas繪制圓角base64圖片的實現(xiàn)

    微信小程序canvas繪制圓角base64圖片的實現(xiàn)

    這篇文章主要介紹了微信小程序canvas繪制圓角base64圖片的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • JavaScript常見的跨標簽頁通信方式總結(jié)

    JavaScript常見的跨標簽頁通信方式總結(jié)

    跨標簽頁通信是指在瀏覽器中的不同標簽頁之間進行數(shù)據(jù)傳遞和通信的過程,這篇文章為大家整理了前端常見的跨標簽頁通信方式,有需要的小伙伴可以了解下
    2023-10-10
  • 淺談js數(shù)組splice刪除某個元素爬坑

    淺談js數(shù)組splice刪除某個元素爬坑

    這篇文章主要介紹了淺談js數(shù)組splice刪除某個元素爬坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • javascript實現(xiàn)點亮燈泡特效示例

    javascript實現(xiàn)點亮燈泡特效示例

    這篇文章主要介紹了javascript實現(xiàn)點亮燈泡特效示例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Javascript中innerHTML用法實例分析

    Javascript中innerHTML用法實例分析

    這篇文章主要介紹了Javascript中innerHTML用法,實例分析了實用innerHTML獲取對應(yīng)元素內(nèi)容的使用技巧,需要的朋友可以參考下
    2015-01-01
  • 一步步教會你微信小程序的登錄鑒權(quán)

    一步步教會你微信小程序的登錄鑒權(quán)

    登錄功能是許多小程序必備的一個功能,通過登錄系統(tǒng),我們可以記錄用戶在我們的小程序里一些行為,在后臺我們也可以模糊地確認用戶。下面這篇文章主要給大家介紹了關(guān)于小程序登錄鑒權(quán)的相關(guān)資料,需要的朋友可以參考下。
    2018-04-04
  • javascript解三階幻方(九宮格)

    javascript解三階幻方(九宮格)

    本文給大家分享的是使用javascript實現(xiàn)解答九宮格問題的算法,非常的簡單實用,有需要的小伙伴可以參考下。
    2015-04-04

最新評論