moment.js 常用方法说明及配合antd DatePicker的使用

var now = moment().toDate();
console.log('获取当前时间\n',now)
 
now = moment().format('YYYY-MM-DD');
console.log('格式化当前时间\n',now);
 
now = moment().format('YYYY-MM-DD:HH:MM:SS');
console.log('格式化当前时间\n',now);
 
let startMonth = moment().startOf('month').toDate();
console.log('获取这个月初时间\n',startMonth);
 
let dayOfStart = moment().startOf('day').toDate();
console.log('获取今天开始的时间\n',dayOfStart);
 
let dayOfEnd = moment().endOf('day').toDate();
console.log('获取今天结束的时间\n',dayOfEnd);
 
let lateHour = moment().add(2,'hour').toDate();
console.log('获取+n小时\n',lateHour);
 
console.log()
let beforeHour = moment().subtract(2,'hour').toDate();
console.log('//获取-n小时\n',beforeHour);
 
let lateDay = moment().add(+5,'day').toDate();
console.log('获取+n天\n',lateDay);
 
let beforeDay = moment().add(-5,'day').toDate();
console.log('获取-n天\n',beforeDay);
//也可以表示为
beforeDay = moment().subtract(5,'day').toDate();
console.log(beforeDay);
 
let lateMonth = moment().add(2,'month').toDate();
console.log('获取+n月\n',lateHour);
 
let beforeMonth = moment().subtract(2,'month').toDate();
console.log('获取-n月\n',moment(beforeMonth).format('YYYY-MM-DD'));
 
let week = moment().format('dddd');
console.log('获取星期\n',week);
 
let years = moment('2018-11-01').fromNow();
console.log('只能获取以前到现在的年限 如果不满一年显示出具体几个月\n',years)

关于antd中DataPicker的使用:

1.全局汉化:

import {ConfigProvider} from 'antd'
import zhCN from 'antd/es/locale/zh_CN'

class App extends Component {
  render() {
    return (
      <ConfigProvider locale={zhCN}>
        <div className="App">
          <header className="App-header">
            <img src={logo} className="App-logo" alt="logo" />
          </header>
        </div>
      </ConfigProvider>
    );
  }
}
export default App;

2.组件使用:

import React, { Component } from 'react';
import {DatePicker} from "antd"
import moment from "moment"
const {RangePicker} = DatePicker
const dateFormat = 'YYYY/MM/DD'

class Antdtest extends Component {
	disabledDate = (current) => {
		// 只能选择今天和今天之前的时间
		return current && current > moment().endOf('day');
	}
	render() {
		return (
			<div className="Antdtest">
				<RangePicker
			      disabledDate={this.disabledDate}
			      defaultValue={[
			      	moment(moment(new Date()).subtract(1,'month'),'YYYY-MM-DD'),
			      	moment(new Date(),'YYYY-MM-DD')
			      ]}
			   />
			</div>
		);
	}
}
export default Antdtest;

https://blog.csdn.net/qwe502763576

 

设置默认时间而不设置默认时间值,只需将defaultValue的值从数组变成一个单独的时间对象即可:

defaultValue={moment(this.state.nowDate,'YYYY-MM-DD')}

设置用户快捷可选默认时间范围:

ranges={{'最近一个月': [moment().add(-1, "month"), moment()]}}

禁止用户选择范围:

 disabledDate = (current) => {
    // Can not select days before today and today
    return current && current > moment().endOf('day');
  }

<RangePicker
  disabledDate={this.disabledDate}
  placeholder={["开始时间","结束时间"]}
/>

起始时间结束时间的控制:

onStartAndEndDataChange() {
        this.$nextTick(()=>{
            let startDate = this.form.getFieldValue('startDate')
            let endDate = this.form.getFieldValue('endDate')
            if(!startDate || !endDate || startDate.isBefore(endDate, 'day') || startDate.isSame(endDate, 'day')) {
                this.form.setFields({
                    startDate: {
                        value: startDate,
                        errors: null
                    }
                })
            }else{
                this.$message.info('开始时间不能大于结束时间')
                this.form.setFields({
                    startDate: {
                        value: startDate,
                        errors: [new Error("开始时间不能大于结束时间")]
                    }
                })
            }
        })
    }

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要设置Antd日期选择器的时间,您可以使用defaultValue或value属性。defaultValue属性用于设置默认值,而value属性用于设置当前值。 例如,要将日期选择器的时间设置为2021年5月1日,您可以使用以下代码: ```jsx <DatePicker defaultValue={moment('2021-05-01', 'YYYY-MM-DD')} /> ``` 这将在日期选择器中显示2021年5月1日,并将其设置为默认值。如果您想设置当前值而不是默认值,可以使用value属性: ```jsx <DatePicker value={moment('2021-05-01', 'YYYY-MM-DD')} /> ``` 这将在日期选择器中显示2021年5月1日,并将其设置为当前值。请注意,您需要使用moment.js库来解析日期字符串并创建moment对象。 ### 回答2: antdDatePicker是一个非常方便的日期选择器组件,可以帮助我们轻松地实现日期的选择和展示。在使用DatePicker时,有时候我们需要默认设置某个时间,比如默认选中当天的日期,或者默认选中一个指定的日期。 要设置DatePicker的默认时间,可以传入一个默认值,即value或defaultValue属性。value适用于受控组件,也就是组件的值受到外部控制。defaultValue适用于非受控组件,也就是组件的值不受外部控制。以下分别介绍这两种方式的使用方法: 1. 使用value value接受一个moment对象,表示当前选中的日期。可以使用moment库将日期字符串转换成moment对象,然后将该对象赋给value属性即可。示例代码如下: import { DatePicker } from 'antd'; import moment from 'moment'; const defaultDate = moment('2022-10-01', 'YYYY-MM-DD'); // 将字符串转换成moment对象 <DatePicker value={defaultDate} /> 2. 使用defaultValue defaultValue同样接受一个moment对象,表示组件的默认值。使用方法与value类似,唯一的区别是defaultValue只在组件首次渲染时生效,之后如果需要更新组件的值,需要使用onPickerChange回调函数。示例代码如下: import { DatePicker } from 'antd'; import moment from 'moment'; const defaultDate = moment('2022-10-01', 'YYYY-MM-DD'); // 将字符串转换成moment对象 <DatePicker defaultValue={defaultDate} onPickerChange={(value) => console.log(value)} /> 在上面的代码中,当用户选择一个新的日期时,onPickerChange回调函数会被调用,并传入一个moment对象表示用户选择的日期。 以上就是antd DatePicker设置时间的方法。无论使用哪种方式,只需要将一个moment对象传给value或defaultValue属性即可实现设置默认时间的功能。 ### 回答3: antd datepicker是一款基于React框架的UI组件库,提供了日期选择器的功能。在antd datepicker中设置时间需要注意以下几点: 1. 选择日期类型 antd datepicker提供了多种日期类型供选择,如年、月、日、周等。在使用时需根据具体需求选择相应的日期类型。 2. 设置日期格式 选定日期类型后,还需设置日期格式。antd datepicker支持多种日期格式,如YYYY-MM-DD、YYYY年MM月DD日等,在初始化日期选择器时需设置相应的日期格式。 3. 设置初始值 如果需要在页面加载时显示一个固定的日期,可以通过设置初始值来实现。antd datepicker的初始值可以是一个日期对象、一个时间戳或一个格式化的日期字符串。 4. 限制可选日期范围 有时候需要限制用户选择的日期范围,可以通过设置可选日期范围来实现。antd datepicker支持设置可选日期的开始和结束时间。 以下是一个基本的antd datepicker设置时间的示例代码: ```jsx import React, { useState } from 'react'; import { DatePicker } from 'antd'; const { RangePicker } = DatePicker; function App() { const [rangeTime, setRangeTime] = useState([]); function onChange(value, dateString) { console.log('Selected Time: ', value); console.log('Formatted Selected Time: ', dateString); setRangeTime(dateString); } function onOk(value) { console.log('onOk: ', value); } return ( <div> <RangePicker showTime={{ format: 'HH:mm' }} format="YYYY-MM-DD HH:mm" onChange={onChange} onOk={onOk} value={rangeTime} disabledDate={current => current && current > Date.now()} /> </div> ); } export default App; ``` 在代码中,我们首先导入了antdDatePicker组件,然后定义了一个App组件。 在App组件中,我们使用useState hook定义了一个rangeTime状态,用于存储选择的时间范围。然后定义了onChange和onOk两个函数,用于在选择时间后进行处理。其中,onChange函数中使用setRangeTime设置选择的时间范围,并在控制台输出所选时间的格式化字符串。onOk函数中则直接在控制台输出所选的时间范围。 接着,在jsx代码中使用RangePicker组件,并设置相应的属性。其中,showTime属性用于显示时间选择器,format属性用于设置日期格式,onChange和onOk分别用于处理选择时间事件和点击确认事件。value属性用于设置选择的时间范围,disabledDate属性用于禁用未来的日期。 以上就是antd datepicker设置时间的基本方法,需要根据实际需求选择相应的日期类型、日期格式等属性并进行设置即可。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值