js 获取当月的第一天和最后一天 & 日期格式化 & 获取距离上次的时间间隔

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
 
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值