antddatepicker 획득 시간이 기본적으로 8시간 적은 문제 해결

1. 확장 날짜 포맷 방법

Date.prototype.format = function (fmt) {
 let o = {
  "M+": this.getMonth() + 1,         // 
  "d+": this.getDate(),          // 
  "h+": this.getHours(),          // 
  "m+": this.getMinutes(),         // 
  "s+": this.getSeconds(),         // 
  "q+": Math.floor((this.getMonth() + 3) / 3), // 
  "S": this.getMilliseconds()       // 
 };
 if (/(y+)/.test(fmt)) {
  fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
 }
 for (let k in o) {
  if (new RegExp("(" + k + ")").test(fmt)) {
   fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  }
 }
 return fmt;
};
2. 선택한 날짜의 시간을 포맷 처리하여 최종적으로 얻은 시간은 현재 시간이다
new Date(value).format(“yyyy-MM-dd hh:mm:ss”)
보충 지식:antddatepicker 설정 시작 시간과 기한 계산 종료 시간 및 토요일 제거
datepicker는moment 형식의 시간을 value로 사용해야 하지만, 이value를 조작할 때moment를 포함합니다.add () 등 방법은datepicker의 값을 직접 변경합니다. 다시 지정하지 않아도 됩니다.이때 moment-immutable-methods와 함께 사용해야 합니다.

import { momentImmutableMethods } from 'moment-immutable-methods'
momentImmutableMethods(moment)

getFinishTime=(value)=>{
    const {getFieldValue} = this.props.form
    let i = 0
    if(typeof(value)==="number"){
      let incomingTime = getFieldValue("incomingTime")
      while(i<value){
        if(incomingTime.addImmu(1,'d').weekday()!==5&&incomingTime.addImmu(1,'d').weekday()!==6){
          i++
          incomingTime = incomingTime.addImmu(1,'d')
        }else{
          incomingTime = incomingTime.addImmu(1,'d')
        }
      }
      this.setState({
        finishTime:value===16?moment():incomingTime,
        disabledFinishTime:value===16?false:true
      })
    }else if(typeof(value)==="object"){
      let deadTime = getFieldValue("deadTime")
      while(i<deadTime){
        if(value.addImmu(1,'d').weekday()!==5&&value.addImmu(1,'d').weekday()!==6){
          i++
          value = value.addImmu(1,'d')
        }else{
          value = value.addImmu(1,'d')
        }
      }
      this.setState({
        finishTime:deadTime===16?moment():value,
        disabledFinishTime:deadTime===16?false:true
      })
    }
 }
이상에서 antddatepicker의 획득 시간이 기본적으로 8시간 적은 문제를 해결한 것은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 참고해 주시고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기