JS 常见的日期格式处理

今天/昨天/本周的起止日期/上周的起止日期/本月的起止日期/上月的起止日期

var now = new Date() // 当前日期
var nowDayOfWeek = now.getDay() - 1 // 今天本周的第几天
var nowDay = now.getDate() // 当前日
var nowMonth = now.getMonth() // 当前月
var nowYear = now.getFullYear()// 当前年
// nowYear += (nowYear < 2000) ? 1900 : 0
var lastMonthDate = new Date() // 上月日期
lastMonthDate.setDate(1)
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1)
// var lastYear = lastMonthDate.getYear()
var lastMonth = lastMonthDate.getMonth()
复制代码

格式化日期

export 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
  }
  // console.log(date)
  return (myyear + '-' + mymonth + '-' + myweekday)
}
复制代码

获得某月的天数

export 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
}
复制代码

获得本周的开始日期

export function getWeekStartDate() {
  var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek)
  // console.log()
  return formatDate(weekStartDate)
}
复制代码

获得本周的结束日期

export function getWeekEndDate() {
  var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek))
  return formatDate(weekEndDate)
}
复制代码

获得上周的开始日期

export function getLastWeekStartDate() {
  var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7)
  return formatDate(weekStartDate)
}
复制代码

获得上周的结束日期

export function getLastWeekEndDate() {
  var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1)
  return formatDate(weekEndDate)
}
复制代码

获得本月的开始日期

export function getMonthStartDate() {
  var monthStartDate = new Date(nowYear, nowMonth, 1)
  return formatDate(monthStartDate)
}
复制代码

获得本月的结束日期

export function getMonthEndDate() {
  var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth))
  return formatDate(monthEndDate)
}
复制代码

获得上月开始时间

export function getLastMonthStartDate() {
  if (lastMonth === 11) {
    var lastMonthStartDate = new Date(nowYear - 1, lastMonth, 1)
  } else {
    lastMonthStartDate = new Date(nowYear, lastMonth, 1)
  }
  return formatDate(lastMonthStartDate)
}
复制代码

获得上月结束时间

export function getLastMonthEndDate() {
  if (lastMonth === 11) {
    var lastMonthEndDate = new Date(nowYear - 1, lastMonth, getMonthDays(lastMonth))
  } else {
    lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth))
  }
  return formatDate(lastMonthEndDate)
}
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值