常用获取日期相关方法

1.UTC时间转换为年月日时分秒

funDeadlineTime(date) {
  var y = date.getFullYear()
  var m = date.getMonth() + 1
  m = m < 10 ? ('0' + m) : m
  var d = date.getDate()
  d = d < 10 ? ('0' + d) : d
  var h = date.getHours()
  h = h < 10 ? ('0' + h) : h
  var minute = date.getMinutes()
  minute = minute < 10 ? ('0' + minute) : minute
  var second = date.getSeconds()
  second = second < 10 ? ('0' + second) : second
  return y + '-' + m + '-' + d +' '+ h + ':' + minute + ':' + second
}

2.获取几天前或者几天后的时间日期

function getDateArr(days){
  var today=new Date();  //今天
  var daysData=[];    //定义一个空数组存放数据
  for(var i=0;i<days;i++){
    var day=i*24*60*60*1000;  //每天的时间戳差值
    var todayTimeStamp=today.getTime();  //今天的时间戳
    var finalDay=new Date(todayTimeStamp-day);  //最后一天的时间戳 ,几天前是减 ,几天后就改成加

    var Y=finalDay.getFullYear();   //年
    var M=finalDay.getMonth()+1;  //月
    var D=finalDay.getDate();    //日
    //将月和日格式标准化组合成需要的格式
    if(M.toString().length == 1){
      M="0"+M;
    }
    if(D.toString().length == 1){
      D="0"+D;
    }
    var timeData=Y+"-"+M+"-"+D;  
    daysData.push(timeData);  //添加进数组
  }
  console.log(daysData);  //输出数据,也可改为 return daysData; 直接返回数据
}

3.获取本周、本月、本季度、本年的开始和结束日期

var now = new Date();                    //当前日期
var nowDayOfWeek = now.getDay();         //今天本周的第几天
var nowDay = now.getDate();              //当前日
var nowMonth = now.getMonth();           //当前月
var nowYear = now.getYear();             //当前年
nowYear += (nowYear < 2000) ? 1900 : 0;  //

//格式化日期:yyyy-MM-dd
function formatDate(date) {
    var myyear = date.getFullYear();
    var mymonth = date.getMonth() + 1;
    var myweekday = date.getDate();

    if (mymonth < 10) {
        mymonth = "0" + mymonth;
    }
    if (myweekday < 10) {
        myweekday = "0" + myweekday;
    }
    return (myyear + "-" + mymonth + "-" + myweekday);
}

//获得某月的天数
function getMonthDays(myMonth) {
    var monthStartDate = new Date(nowYear, myMonth, 1);
    var monthEndDate = new Date(nowYear, myMonth + 1, 1);
    var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
    return days;
}

//获得本季度的开始月份
function getQuarterStartMonth() {
    var quarterStartMonth = 0;
    if (nowMonth < 3) {
        quarterStartMonth = 0;
    }
    if (2 < nowMonth && nowMonth < 6) {
        quarterStartMonth = 3;
    }
    if (5 < nowMonth && nowMonth < 9) {
        quarterStartMonth = 6;
    }
    if (nowMonth > 8) {
        quarterStartMonth = 9;
    }
    return quarterStartMonth;
}

//获得本周的开始日期
function getWeekStartDate() {
    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
    return formatDate(weekStartDate);
}

//获得本周的结束日期
function getWeekEndDate() {
    var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
    return formatDate(weekEndDate);
}

//获得本月的开始日期
function getMonthStartDate() {
    var monthStartDate = new Date(nowYear, nowMonth, 1);
    return formatDate(monthStartDate);
}

//获得本月的结束日期
function getMonthEndDate() {
    var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
    return formatDate(monthEndDate);
}

//获得本季度的开始日期
function getQuarterStartDate() {

    var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
    return formatDate(quarterStartDate);
}

//或的本季度的结束日期
function getQuarterEndDate() {
    var quarterEndMonth = getQuarterStartMonth() + 2;
    var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
    return formatDate(quarterStartDate);
}


//获得本年的开始日期
function getYearStartDate() {
    //获得当前年份4位年
    var currentYear=now.getFullYear();
    //本年第一天
    var currentYearFirstDate=new Date(currentYear,0,1);
    return formatDate(currentYearFirstDate);
}

//获得本年的结束日期
function getYearEndDate() {
    //获得当前年份4位年
    var currentYear=now.getFullYear();
    //本年最后
    var currentYearLastDate=new Date(currentYear,11,31);
    return formatDate(currentYearLastDate);
}

alert(getQuarterEndDate());

4.创建补零函数

function pZone (s) {
   return s < 10 ? '0' + s : s
}
pZone(num)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值