解决antd datepicker 获取时间默认少8个小时的问题


Posted in Javascript onOctober 29, 2020

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”)

补充知识:antd datepicker设置开始时间和期限计算出结束时间并且去除周六日

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
      })
    }
 }

以上这篇解决antd datepicker 获取时间默认少8个小时的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript prototype属性深入介绍
Nov 27 Javascript
js简单的表格添加行和删除行操作示例
Mar 31 Javascript
JS获得图片alt信息的方法
Apr 01 Javascript
js实现仿京东2级菜单效果(带延时功能)
Aug 27 Javascript
javaScript基础详解
Jan 19 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
小程序实现左滑删除功能
Oct 30 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 Javascript
详解小程序rich-text对富文本支持方案
Nov 28 Javascript
jquery实现选项卡切换代码实例
May 14 jQuery
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
Mar 04 Javascript
类和原型的设计模式之复制与委托差异
Jul 07 Javascript
Antd中单个DatePicker限定时间输入范围操作
Oct 29 #Javascript
微信小程序实现可长按移动控件
Nov 01 #Javascript
Vue时间轴 vue-light-timeline的用法说明
Oct 29 #Javascript
antd日期选择器禁止选择当天之前的时间操作
Oct 29 #Javascript
vue制作toast组件npm包示例代码
Oct 29 #Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 #Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 #Javascript
You might like
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php7 新增功能实例总结
2020/05/25 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
python 自动提交和抓取网页
2009/07/13 Python
Django CBV类的用法详解
2019/07/26 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
Joie官方网上商店:购买服装和女装配饰
2018/06/05 全球购物
营销主管自我评价怎么写
2013/09/19 职场文书
初三家长会邀请函
2014/01/18 职场文书
财务总监管理职责范文
2014/03/09 职场文书
企业文化标语大全
2014/06/10 职场文书
员工生日会策划方案
2014/06/14 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
听课评课活动心得体会
2016/01/15 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技