JS 时间获取 (常用)

  最近在写的项目对日期获取的方法种类用的比较多,于是在此进行录入下来。如果一下代码有错误或者有bug还请路过的大神指点指点,这些方法对你们有帮助请给个支持,有其他的好方法也请留言哦。

 

返回当前的时间(年月日时分秒)

function getDateTime() {
    var date = new Date(),
        year = date.getFullYear(),
        month = date.getMonth() + 1,
        day = date.getDate(),
        hour = date.getHours() + 1,
        minute = date.getMinutes(),
        second = date.getSeconds();
        month = checkTime(month);
        day = checkTime(day);
        hour = checkTime(hour);
        minute = checkTime(minute);
        second = checkTime(second);
     function checkTime(i) {
        if (i < 10) {
                i = "0" + i;
       }
      return i;
    }
    return "" + year + "年" + month + "月" + day + "日" + hour + "时" + minute + "分" + second + "秒"
}

 

 

 

 1 /**
 2  *  获取几天之前日期
 3  */
 4  daysAgo(dayNum = 0) {
 5     let myDate = new Date()
 6     let lw = new Date(myDate - 1000 * 60 * 60 * 24 * dayNum) // 最后一个数字多少天前的意思
 7     let lastY = lw.getFullYear()
 8     let lastM = lw.getMonth() + 1
 9     let lastD = lw.getDate()
10     let startdate = lastY + "-" + (lastM < 10 ? "0" + lastM : lastM) + "-" + (lastD < 10 ? "0" + lastD : lastD)
11     return startdate
12 }

 

 1 /**
 2  *  获取几个月之前日期
 3  */
 4  monthAgo(monthNum = 0) {
 5     let newDate = new Date();
 6     let year = newDate.getFullYear(); //获取当前日期的年份
 7     let month = newDate.getMonth() + 1; //获取当前日期的月份
 8     let day = newDate.getDate(); //获取当前日期的日
 9     let days = new Date(year, month, 0)
10     days = days.getDate() //获取当前日期中月的天数
11     let year2 = year
12 
13     // 进行月份计算
14     let month2 = parseInt(month) - monthNum
15     if (month2 <= 0) {
16         year2 = parseInt(year2) - parseInt(month2 / 12 == 0 ? 1 : Math.abs(parseInt(month2 / 12)) + 1)
17         month2 = 12 - (Math.abs(month2) % 12)
18     }
19 
20     // 进行日期计算
21     let day2 = day
22     let days2 = new Date(year2, month2, 0)
23     days2 = days2.getDate()
24     if (day2 > days2) {
25         day2 = days2
26     }
27 
28     let startdate = year2 + "-" + (month2 < 10 ? "0" + month2 : month2) + "-" + (day2 < 10 ? "0" + day2 : day2)
29     return startdate
30 }

 

 1 /**
 2  *  获取几年之前日期
 3  */
 4  yearAgo(yearNum = 0) {
 5     let newDate = new Date();
 6     let year = newDate.getFullYear(); //获取当前日期的年份
 7     let month = newDate.getMonth() + 1; //获取当前日期的月份
 8     let day = newDate.getDate(); //获取当前日期的日
 9 
10     let year2 = year - yearNum;
11 
12     let startdate = year2 + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day)
13     return startdate
14 }

 

 1 /**
 2    *  根据日期获取上一个月
 3    */
 4   preMonth(data) {
 5     let curMonth = new Date(data)
 6     let month = curMonth.getMonth() - 1;
 7     curMonth.setMonth(month);
 8     let newMonth = curMonth.getMonth() + 1;
 9     if (newMonth < 10) {
10       newMonth = "0" + newMonth;
11     }
12     return curMonth.getFullYear() + '-' + newMonth;
13   }

 

 1 /**
 2    *  获取当前年月(yyyy-MM)
 3    */
 4   theCurrentMonth() {
 5     let date = new Date();
 6     let nowMonth = date.getMonth() + 1;
 7     if (nowMonth >= 1 && nowMonth <= 9) {
 8       nowMonth = "0" + nowMonth;
 9     }
10     let nowDate = date.getFullYear() + '-' + nowMonth;
11     return nowDate
12   }

 

 1 /**
 2    *  获取上个月第一天
 3    */
 4   firstdate() {
 5     let date = new Date();
 6     let nowMonth = date.getMonth() + 1;
 7     if (nowMonth >= 1 && nowMonth <= 9) {
 8       nowMonth = "0" + nowMonth;
 9     }
10     let nowDate = date.getFullYear() + '-' + nowMonth + '-01';
11     return nowDate
12   }

 

 1 /**
 2    *  获取上个月最后一天
 3    */
 4   enddate() {
 5     let date = new Date();
 6     let day = new Date(date.getFullYear(), date.getMonth(), 0).getDate();
 7     let nowMonth = date.getMonth() + 1;
 8     if (nowMonth >= 1 && nowMonth <= 9) {
 9       nowMonth = "0" + nowMonth;
10     }
11     let nowDate = date.getFullYear() + '-' + nowMonth + '-' + day;
12 
13     return nowDate
14   }

 

posted @ 2020-08-18 16:47  思猿客  阅读(684)  评论(0编辑  收藏  举报