antd中时间组件获取选中日期所在周、月的第一天和最后一天

本文介绍了一个使用React和Ant Design实现的日期选择器组件,该组件允许用户选择日期范围,并展示如何通过WeekPicker获取选定周的开始和结束日期,同时计算并显示选定日期所在月份的首尾日期。
import React, { FC, memo, useState } from "react";
import { DatePicker } from "antd";
const { RangePicker } = DatePicker;
import locale from "antd/es/date-picker/locale/zh_CN";
import moment from "moment";
const Capability: FC = () => {

    const handlechange = (date: any, dateString: string) => {
        const startDayOfWeek = (new Date(date[0])).getDay();
        const endDayOfWeek = (new Date(date[1])).getDay();
        console.log("起始日期周的第一天:",date[0].subtract(startDayOfWeek - 1, 'days').format("YYYY-MM-DD"));
        console.log("结束日期周的最后一天:",date[1].add(7 - endDayOfWeek, 'days').format('YYYY-MM-DD'));

        const startDayOfMonth = (new Date(date[0])).getDate();
        const endDayOfMonth = (new Date(date[1])).getDate();
        console.log("起始日期月的第一天:",date[0].subtract(startDayOfMonth - 1, 'days').format('YYYY-MM-DD'));
        console.log("起始日期月的最后一天:",date[1].add(date[1].daysInMonth() - endDayOfMonth, 'days').format('YYYY-MM-DD'));
    }

    return (
        <RangePicker
            style={{ width: '260px' }}
            locale={locale}
            picker="week"
            onChange={handlechange}
        />
    );
}

export default memo(Capability);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值