侧边栏壁纸
博主头像
chao's blog博主等级

记录学习所得,以及日常生活

  • 累计撰写 13 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

使用dayjs或者moment获取时间戳的一些方法

Administrator
2024-12-16 / 0 评论 / 0 点赞 / 11 阅读 / 2940 字

示例1 月份选择器获取两个选项值大于12个月

使用 moment 有几种方式可以判断选择的日期范围是否超过 12 个月:

  1. 使用 diff 方法:
const months = moment(endDate).diff(startDate, 'months');
const is12Months = months === 12;
  1. 如果需要更精确的判断(考虑具体日期),可以这样写:
const startDate = moment('2023-01-01');
const endDate = moment('2024-01-01');

// 先判断月份差,再判断日期是否对应
const isExactly12Months = endDate.diff(startDate, 'months') === 12 && 
                         endDate.date() === startDate.date();
  1. 如果只需要判断是否大于 12 个月:
const isWithin12Months = moment(endDate).diff(startDate, 'months') > 12;

示例2 给表单月份筛选组件默认赋值

可以使用 moment 的 subtract 方法来获取上个月的日期:

initialValues: {
  begin_date: [
    moment().subtract(1, 'month').startOf('month'),  // 上个月第一天
    moment().subtract(1, 'month').endOf('month')     // 上个月最后一天
  ]
}

这样就会默认显示上个月的起始日期和结束日期。比如现在是 2024 年 12 月,默认就会显示 2024 年 11 月 1 日到 11 月 30 日。

0

评论区