解决antd datepicker 获取时间默认少8个小时的问题
1、扩展日期格式化方法
Date.prototype.format=function(fmt){ leto={ "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(letkino){ if(newRegExp("("+k+")").test(fmt)){ fmt=fmt.replace(RegExp.$1,(RegExp.$1.length===1)?(o[k]):(("00"+o[k]).substr((""+o[k]).length))); } } returnfmt; };
2、对选中日期的时间进行格式化处理,最终得到的时间就是当前时间
newDate(value).format(“yyyy-MM-ddhh: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 leti=0 if(typeof(value)==="number"){ letincomingTime=getFieldValue("incomingTime") while(i以上这篇解决antddatepicker获取时间默认少8个小时的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。