欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js 获取当月的第一天和最后一天

程序员文章站 2022-03-26 19:25:40
...

1获取当月的第一天

function getCurrentMonthFirst() {
	var date = new Date()
	date.setDate(1)
	return date
}

2.获取当月的最后一天

function getCurrentMonthLast() { 
	var date = new Date(); 
	var currentMonth = date.getMonth(); 
	var nextMonth = ++currentMonth; 
	var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1); 
	var oneDay = 1000 * 60 * 60 * 24; 
	return new Date(nextMonthFirstDay - oneDay);
}

3.日期格式化

function format(fmt, date) {
      var o = {
        "M+": date.getMonth() + 1, //月份   
           "d+": date.getDate(), //日   
           "h+": date.getHours(), //小时   
           "m+": date.getMinutes(), //分   
           "s+": date.getSeconds(), //秒   
           "q+": Math.floor((date.getMonth() + 3) / 3), //季度   
           "S": date.getMilliseconds() //毫秒   
       };
       if (/(y+)/.test(fmt))
           fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
       for (var k in o)
           if (new RegExp("(" + k + ")").test(fmt))
               fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
       return fmt;
}

var times = new Date
console.log(times)
console.log(format('yyyy-MM-dd hh:mm:ss', times))
console.log(format('yyyy-MM-dd', times))
console.log(format('yyyy/MM/dd', times))
console.log(format('yyyy年MM月dd日', times))

4.获取距离上次的时间间距

 function getDateDiff(time) {
	  time = Date.parse(time.replace(/-/gi, '/'))
	  const minute = 1000 * 60
	  const hour = minute * 60
	  const day = hour * 24
	  const month = day * 30
	  const now = new Date().getTime()
	  const diffValue = now - time
	  if (diffValue < 0) {
	    return
	  }
	  const monthC = diffValue / month
	  const weekC = diffValue / (7 * day)
	  const dayC = diffValue / day
	  const hourC = diffValue / hour
	  const minC = diffValue / minute
	  if (monthC >= 1) {
	    return '' + parseInt(monthC) + '月前'
	  } else if (weekC >= 1) {
	    return '' + parseInt(weekC) + '周前'
	  } else if (dayC >= 1) {
	    return '' + parseInt(dayC) + '天前'
	  } else if (hourC >= 1) {
	    return '' + parseInt(hourC) + '小时前'
	  } else if (minC >= 1) {
	    return '' + parseInt(minC) + '分钟前'
	  } else {
	    return '刚刚'
	  }
}
console.log(getDateDiff('2018-09-07 14:46:55'))
 参数 time 为标准时间格式 yyyy-MM-dd hh:mm:ss  yyyy-MM-dd