date.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // 获取本月第一天和最后一天
  2. export const getFirstandLastDay=()=>{
  3. const nowDate = new Date();
  4. const cloneNowDate = new Date();
  5. const fullYear = nowDate.getFullYear();
  6. const month = nowDate.getMonth() + 1; // getMonth 方法返回 0-11,代表1-12月
  7. const endOfMonth = new Date(fullYear, month, 0).getDate(); // 获取本月最后一天
  8. const endDate = getFullDate(cloneNowDate.setDate(endOfMonth));//当月最后一天
  9. const starDate = getFullDate(cloneNowDate.setDate(1));//当月第一天
  10. return {
  11. endDate,
  12. starDate
  13. }
  14. }
  15. function getFullDate(targetDate) {
  16. let D, y, m, d;
  17. if (targetDate) {
  18. D = new Date(targetDate);
  19. y = D.getFullYear();
  20. m = D.getMonth() + 1;
  21. d = D.getDate();
  22. } else {
  23. y = fullYear;
  24. m = month;
  25. d = date;
  26. }
  27. m = m > 9 ? m : '0' + m;
  28. d = d > 9 ? d : '0' + d;
  29. return y + '-' + m + '-' + d;
  30. };
  31. // 获取今天日期转成yy-dd-m
  32. export const getCurrent=(time='',fmt)=>{
  33. let date=time ? new Date(time) :new Date();
  34. if(/(Y+)/.test(fmt)){
  35. fmt=fmt.replace(RegExp.$1,(date.getFullYear()+"").substr(4-RegExp.$1.length))
  36. }
  37. let o={
  38. "M+":date.getMonth()+1,
  39. "D+":date.getDate(),
  40. "h+":date.getHours(),
  41. "m+":date.getMinutes(),
  42. "s+":date.getSeconds()
  43. }
  44. for(let k in o){
  45. if(new RegExp(`(${k})`).test(fmt)){
  46. let str=o[k]+"";
  47. fmt=fmt.replace(RegExp.$1,(RegExp.$1.length===1) ? str : str.padStart(2,0))
  48. }
  49. }
  50. return fmt
  51. }