解决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 相关文章推荐
prototype.js的Ajax对象
Sep 23 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
Jun 17 Javascript
jquery ready(fn)事件使用介绍
Aug 21 Javascript
jquery实现选中单选按钮下拉伸缩效果
Aug 06 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 Javascript
vue判断input输入内容全是空格的方法
Mar 02 Javascript
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
如何阻止小程序遮罩层下方图层滚动
Sep 05 Javascript
vue路由守卫及路由守卫无限循环问题详析
Sep 05 Javascript
详细分析JavaScript中的深浅拷贝
Sep 17 Javascript
如何使用vue3打造一个物料库
May 08 Vue.js
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跳转页面的几种实现方法详解
2013/06/08 PHP
php生成zip文件类实例
2015/04/07 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
javascript实现json页面分页实例代码
2014/02/20 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
Django发送html邮件的方法
2015/05/26 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
如何通过python实现人脸识别验证
2020/01/17 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
python 通过文件夹导入包的操作
2020/06/01 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
校园报刊亭创业计划书
2014/01/02 职场文书
区三好学生主要事迹
2014/01/30 职场文书
如何写自我鉴定
2014/03/19 职场文书
小学生家长寄语
2014/04/02 职场文书
离职感谢信
2015/01/21 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
56句经典英文座右铭
2019/08/09 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android
python超详细实现完整学生成绩管理系统
2022/03/17 Python
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang