1. // 小于10,在前面补0
  2. export const addZero = function (i) {
  3. return (i < 10 ? '0' : '') + i
  4. }

本周

根据某日获取该日的周一和周日日期 param: yyyy-MM-dd, return: array

  1. // 根据某日获取该日的周一和周日日期 param: yyyy-MM-dd, return: array
  2. export const getMonDayAndSunDay = function (dateValue) {
  3. try {
  4. let arr = dateValue.split('-')
  5. // 月份-1 因为月份从0开始 构造一个Date对象
  6. let date = new Date(arr[0], arr[1] - 1, arr[2])
  7. let dateOfWeek = date.getDay() // 返回当前日期的在当前周的某一天(0~6--周日到周一)
  8. let dateOfWeekInt = parseInt(dateOfWeek, 10) // 转换为整型
  9. if (dateOfWeekInt == 0) dateOfWeekInt = 7 // 如果是周日
  10. let aa = 7 - dateOfWeekInt // 当前于周末相差的天数
  11. let temp2 = parseInt(arr[2], 10) // 按10进制转换,以免遇到08和09的时候转换成0
  12. let sunDay = temp2 + aa // 当前日期的周日的日期
  13. let monDay = sunDay - 6 // 当前日期的周一的日期
  14. let startDate = new Date(arr[0], arr[1] - 1, monDay)
  15. let endDate = new Date(arr[0], arr[1] - 1, sunDay)
  16. let sm = addZero(parseInt(startDate.getMonth()) + 1) // 月份+1 因为月份从0开始
  17. let em = addZero(parseInt(endDate.getMonth()) + 1)
  18. let start = startDate.getFullYear() + '-' + sm + '-' + addZero(startDate.getDate())
  19. let end = endDate.getFullYear() + '-' + em + '-' + addZero(endDate.getDate())
  20. let result = []
  21. result.push(start)
  22. result.push(end)
  23. return result
  24. } catch (err) {
  25. console.log('getMonDayAndSunDay-err')
  26. return ['', '']
  27. }
  28. }

本月

获取当前日期所在月份第一天日期

  1. // 获取当前日期所在月份第一天日期
  2. export const getCurrentMonthFirst = function () {
  3. try {
  4. var date = new Date()
  5. date.setDate(1)
  6. var month = addZero(parseInt(date.getMonth() + 1))
  7. var day = addZero(date.getDate())
  8. return date.getFullYear() + '-' + month + '-' + day
  9. } catch (err) {
  10. console.log('getCurrentMonthFirst-err')
  11. return ''
  12. }
  13. }

获取当前日期所在月份最后一天日期

  1. // 获取当前日期所在月份最后一天日期
  2. export const getCurrentMonthLast = function () {
  3. try {
  4. var date = new Date()
  5. var currentMonth = date.getMonth()
  6. var nextMonth = ++currentMonth
  7. var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1)
  8. var oneDay = 1000 * 60 * 60 * 24
  9. var lastTime = new Date(nextMonthFirstDay - oneDay)
  10. var month = addZero(parseInt(lastTime.getMonth() + 1))
  11. var day = addZero(lastTime.getDate())
  12. return date.getFullYear() + '-' + month + '-' + day
  13. } catch (err) {
  14. console.log('getCurrentMonthLast-err')
  15. return ''
  16. }
  17. }