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

javascript 日期工具匯總

 更新時(shí)間:2021年10月14日 15:28:41   作者:web前端從業(yè)者  
這篇文章主要為大家詳細(xì)介紹了javaScript日期工具類(lèi)的匯總,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
let Utils = {
  /**
   * 是否為閆年
   * @return {Boolse} true|false
   */
  isLeapYear: function(y) {
    return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
  },
  /**
   * 返回星期數(shù)
   * @return {Number}
   */
  getWhatDay: function(year, month, day) {
    let date = new Date(year + '/' + month + '/' + day);
    let index = date.getDay();
    let dayNames = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
    return dayNames[index];
  },
  /**
   * 返回星期數(shù)
   * @return {Number}
   */
  getMonthPreDay: function(year, month) {
    let date = new Date(year + '/' + month + '/01');
    let day = date.getDay();
    if (day == 0) {
      day = 7;
    }
    return day;
  },
  /**
   * 返回月份天數(shù)
   * @return {Number}
   */
  getMonthDays: function(year, month) {
    if (/^0/.test(month)) {
      month = month.split('')[1];
    }
    return [0, 31, this.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
  },
  /**
   * 補(bǔ)齊數(shù)字位數(shù)
   * @return {string}
   */
  getNumTwoBit: function(n) {
    n = Number(n);
    return (n > 9 ? '' : '0') + n;
  },
  /**
   * 日期對(duì)象轉(zhuǎn)成字符串
   * @return {string}
   */
  date2Str: function(date, split) {
    if (typeof date == 'string') return date;
    split = split || '-';
    let y = date.getFullYear();
    let m = this.getNumTwoBit(date.getMonth() + 1);
    let d = this.getNumTwoBit(date.getDate());
    return [y, m, d].join(split);
  },
  /**
   * 返回日期格式字符串
   * @param {Number} 0返回今天的日期、1返回明天的日期,2返回后天得日期,依次類(lèi)推
   * @return {string} '2014-12-31'
   */
  getDay: function(i) {
    i = i || 0;
    let date = new Date();
    let diff = i * (1000 * 60 * 60 * 24);
    date = new Date(date.getTime() + diff);
    return this.date2Str(date);
  },
  /**
   * 時(shí)間戳轉(zhuǎn)換為日期格式
   * @return {String}
   */
  timestampToDate: function(timestamp) {
    let date = new Date(timestamp);
    return date.getFullYear() + '-' + getNumTwoBit(date.getMonth() + 1) + '-' + getNumTwoBit(date.getDate());
  },
  /**
   * 時(shí)間比較
   * @return {Boolean}
   */
  compareDate: function(date1, date2) {
    let startTime = new Date(date1.replace('-', '/').replace('-', '/'));
    let endTime = new Date(date2.replace('-', '/').replace('-', '/'));
    if (startTime >= endTime) {
      return false;
    }
    return true;
  },
  /**
   * 時(shí)間比較
   * @return {Boolean}
   */
  compareDateArr: function(date1, date2) {
    let startTime = new Date();
    startTime.setFullYear(parseInt(date1[0]), parseInt(date1[1]) - 1, parseInt(date1[2]));
    startTime.setHours(parseInt(date1[3]), parseInt(date1[4]));
    let endTime = new Date();
    endTime.setFullYear(parseInt(date2[0]), parseInt(date2[1]) - 1, parseInt(date2[2]));
    endTime.setHours(parseInt(date2[3]), parseInt(date2[4]));
    if (startTime >= endTime) {
      return false;
    }
    return true;
  },
  /**
   * 時(shí)間是否相等
   * @return {Boolean}
   */
  isEqual: function(date1, date2) {
    let startTime = new Date(date1).getTime();
    let endTime = new Date(date2).getTime();
    if (startTime == endTime) {
      return true;
    }
    return false;
  },
  getDateArr(str) {
    return [this.getYear(str), this.getMonth(str), this.getDate(str), this.getHour(str), this.getMinute(str)];
  },
  isDateString(str) {
    return /\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}/.test(str) || /^([01][0-9]|2[0-3])(:[0-5][0-9]){1,2}$/.test(str);
  },
  getYear(value) {
    return this.isDateString(value) ? value.split(' ')[0].split(/-|\/|\./)[0] : value.getFullYear();
  },
  getMonth(value) {
    return this.isDateString(value) ? value.split(' ')[0].split(/-|\/|\./)[1] : value.getMonth() + 1;
  },
  getDate(value) {
    return this.isDateString(value) ? value.split(' ')[0].split(/-|\/|\./)[2] : value.getDate();
  },
  getHour(value) {
    if (this.isDateString(value)) {
      const str = value.split(' ')[1] || '00:00:00';
      return str.split(':')[0];
    }
    return value.getHours();
  },
  getMinute(value) {
    if (this.isDateString(value)) {
      const str = value.split(' ')[1] || '00:00:00';
      return str.split(':')[1];
    }
    return value.getMinutes();
  }
};
export default Utils;

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • WEB前端開(kāi)發(fā)框架Bootstrap3 VS Foundation5

    WEB前端開(kāi)發(fā)框架Bootstrap3 VS Foundation5

    WEB前端開(kāi)發(fā)框架Bootstrap3 VS Foundation5,這篇文章主要介紹了Bootstrap3與Foundation5的五大區(qū)別,感興趣的小伙伴們可以參考一下
    2016-05-05
  • JS實(shí)現(xiàn)title標(biāo)題欄文字不間斷滾動(dòng)顯示效果

    JS實(shí)現(xiàn)title標(biāo)題欄文字不間斷滾動(dòng)顯示效果

    這篇文章主要介紹了JS實(shí)現(xiàn)title標(biāo)題欄文字不間斷滾動(dòng)顯示效果,通過(guò)javascript時(shí)間函數(shù)定時(shí)操作動(dòng)態(tài)修改頁(yè)面元素實(shí)現(xiàn)滾動(dòng)效果,需要的朋友可以參考下
    2016-09-09
  • 使用javascript實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn)總結(jié)篇

    使用javascript實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn)總結(jié)篇

    下面對(duì)使用JavaScript實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn)做一下總結(jié),各種定時(shí)跳轉(zhuǎn)代碼記錄如下,希望對(duì)大家有所幫助
    2013-09-09
  • XP折疊菜單&仿QQ2006菜單

    XP折疊菜單&仿QQ2006菜單

    XP折疊菜單&仿QQ2006菜單...
    2006-12-12
  • JS原型、原型鏈深入理解

    JS原型、原型鏈深入理解

    這篇文章主要針對(duì)javascript中的原型、原型鏈深入理解,原型是JavaScript中一個(gè)比較難理解的概念,本文為大家解決這個(gè)難題,感興趣的小伙伴們可以參考一下
    2016-02-02
  • js實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效代碼分享

    js實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效代碼分享

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效,提高了工作效率,推薦給大家,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • JS前端實(shí)現(xiàn)留言板功能的方法總結(jié)

    JS前端實(shí)現(xiàn)留言板功能的方法總結(jié)

    留言板的主要使用場(chǎng)景是為用戶(hù)提供一個(gè)在網(wǎng)站或應(yīng)用上留言的平臺(tái),本文主要為大家介紹了四個(gè)常見(jiàn)的前端實(shí)現(xiàn)留言板功能的方法,希望對(duì)大家有所幫助
    2023-11-11
  • 微信小程序?qū)崿F(xiàn)簡(jiǎn)易計(jì)算器

    微信小程序?qū)崿F(xiàn)簡(jiǎn)易計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 利用用JS實(shí)現(xiàn)一個(gè)實(shí)時(shí)小鬧鐘

    利用用JS實(shí)現(xiàn)一個(gè)實(shí)時(shí)小鬧鐘

    天我們來(lái)聊聊如何使用JS來(lái)創(chuàng)建一個(gè)實(shí)時(shí)的小鬧鐘,這個(gè)小鬧鐘十分的有趣,小伙伴們可以運(yùn)行一下,看看跟你電腦上的時(shí)間是否對(duì)的上呢,文章通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Mock.js的安裝與使用教程(擺脫后端同學(xué)的束縛)

    Mock.js的安裝與使用教程(擺脫后端同學(xué)的束縛)

    Mock功能可以根據(jù)接口/數(shù)據(jù)結(jié)構(gòu)定義、Mock規(guī)則配置、Mock?期望配置,自動(dòng)生成模擬數(shù)據(jù),且使用者可以根據(jù)需要靈活構(gòu)造各種結(jié)構(gòu)的接口數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Mock.js的安裝與使用的相關(guān)資料,需要的朋友可以參考下
    2022-08-08

最新評(píng)論