date.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // 日期
  2. /**
  3. * 获取今天对应的年、月
  4. * @returns {object} 包含年、月的对象
  5. */
  6. const getTodayYearMonthObj = () => {
  7. // 获取今天对应的年、月
  8. const today = new Date();
  9. const year = today.getFullYear();
  10. const month = (today.getMonth() + 1).toString().padStart(2, '0');
  11. return {
  12. year,
  13. month
  14. }
  15. }
  16. /**
  17. * 获取昨天的日期
  18. * @returns {string} 格式为YYYY-MM-DD的字符串
  19. */
  20. const getYesterday = () => {
  21. // 将日期减去1天,得到昨天的日期
  22. const yesterday = new Date();
  23. yesterday.setDate(yesterday.getDate() - 1);
  24. // 获取年、月、日
  25. const year = yesterday.getFullYear();
  26. const month = (yesterday.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以加1
  27. const day = yesterday.getDate().toString().padStart(2, '0'); // 日期格式化为两位数
  28. // 格式化输出
  29. return `${year}-${month}-${day}`;
  30. }
  31. /**
  32. * 获取本月的第一天
  33. * @returns {string} 格式为YYYY-MM-DD的字符串
  34. */
  35. const getFirstDayOfMonth = () => {
  36. const today = new Date();
  37. let year = today.getFullYear();
  38. let month = today.getMonth();
  39. const firstDay = new Date(year, month, 1); // 设置日期为1,自动回到本月第一天
  40. // 获取年、月、日
  41. year = firstDay.getFullYear();
  42. month = (firstDay.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以加1
  43. const day = firstDay.getDate().toString().padStart(2, '0'); // 日期格式化为两位数
  44. // 格式化输出
  45. return `${year}-${month}-${day}`;
  46. }
  47. /**
  48. * 获取本月的最后一天
  49. */
  50. const getLastDayOfMonth = () => {
  51. const today = new Date();
  52. let year = today.getFullYear();
  53. let month = today.getMonth();
  54. // 下一个月的第一天的前一天就是本月的最后一天
  55. const lastDay = new Date(year, month + 1, 0);
  56. // 获取年、月、日
  57. year = lastDay.getFullYear();
  58. month = (lastDay.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以加1
  59. const day = lastDay.getDate().toString().padStart(2, '0'); // 日期格式化为两位数
  60. // 格式化输出
  61. return `${year}-${month}-${day}`;
  62. }
  63. /**
  64. * 默认导出对象
  65. */
  66. const dateUtils = {
  67. getTodayYearMonthObj,
  68. getYesterday,
  69. getFirstDayOfMonth,
  70. getLastDayOfMonth
  71. }
  72. export default dateUtils;