三、日期值

日期填充时应遵循一个原则:年 > 月 > 日/ 其他

** 用到moment库// 获取日期的 从1970年1月1日0时0分0秒(UTC,即协调世界时)到该日期的毫秒数
getDateValue(date) {let dateObject = moment(date);return dateObject.isValid() ? dateObject.valueOf() : 0;}// 计算年公差calculateYearTolerance(dateList) {let date0 = moment(dateList[0]);let date1 = moment(dateList[1]);if (!date0.isValid() || !date1.isValid()) {return 0;}if (date0.month() !== date1.month() || date0.date() !== date1.date() || date0.hour() !== date1.hour() || date0.minute() !== date1.minute())  {return 0;}let date0Year = date0.year();let tolerance = date1.year() - date0Year;let isYearArithmeticSequence = dateList.every((date, n) => {let dateObject = moment(date);if (!dateObject.isValid()) {return false;}return dateObject.year() === n * tolerance + date0Year;});return isYearArithmeticSequence ? tolerance : 0;}// 计算月公差calculateMonthTolerance(dateList) {let date0 = moment(dateList[0]);let date1 = moment(dateList[1]);if (!date0.isValid() || !date1.isValid()) {return 0;}if (date0.date() !== date1.date() || date0.hour() !== date1.hour() || date0.minute() !== date1.minute()) {return 0;}let tolerance = (date1.month() - date0.month()) + (date1.year() - date0.year()) * 12;let isMonthArithmeticSequence = dateList.every((date, i) => {let month = i * tolerance;let dateObject = moment(date);if (!dateObject.isValid()) {return false;}return dateObject.isSame(moment(dateList[0]).add(month, 'month'), 'minute');});return isMonthArithmeticSequence ? tolerance : 0;}// 计算天/其他公差calculateDayTolerance(dateList) {let date0 = getDateValue(dateList[0]);let tolerance = getDateValue(dateList[1]) - date0;let isDayArithmeticSequence = dateList.every((date, i) => {if (!moment(date).isValid()) {return false;}return getDateValue(date) === i * tolerance + date0;});return isDayArithmeticSequence ? tolerance : 0;}

像excel一样规律填充(三)相关推荐

  1. 像excel一样规律填充(二)

    最普遍的填充就是没有规律的时候复制对应位置的内容,可以标记为: NORMAL_RULE = ({ value }) => {return value;}; 一.数字类型 数字类型的填充可以归结为 ...

  2. excel填充序列_猴哥讲述:excel的自动填充功能——自动填充单元格

    我们都知道excel的自动填充功能非常的好用,自动填充功能可以帮我们在工作中大大的提升工作效率,同时还可以准确无误的帮助我们进行数据自动输入,我们也可以自定义自动填充的序列. 一.自动填充功能,是指我 ...

  3. Excel模板数据填充导出

    Excel模板数据填充导出 需求描述: POI实现 1.添加依赖: <dependency><groupId>org.apache.poi</groupId>< ...

  4. java设置字体大小和颜色_Java 设置Excel图表背景填充(颜色、图片填充)

    本文介绍通过Java程序来设置Excel图表背景填充的方法,填充时,可设置颜色填充或者加载图片填充:填充区域可设置整个图表区域或者绘图区域.设置方法参考以下内容. 使用工具:Free Spire.XL ...

  5. excel空白处自动填充内容怎么操作,excel空白处填充0或上行方法

    excel空白处自动填充内容 1.选择需要将空白处进行填充的区域 2.点击开始–>查找与替换–>定位条件或者按下F5–>点击定位条件. 3.进入定位条件界面后,点击选择空值,再点击确 ...

  6. excel的批量填充(工作日、数字)

    今天讲讲excel如何批量填充数字! 一.举一个工作日期的日子 1.先在excel表格敲打出第一个日期如2019-1-1,我们要以日为单位填充到2019-12-31日 2.开始--行和列--填充--序 ...

  7. wps里的茶色字体怎么设置_《excel颜色筛选》 WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决...

    WPS2019的EXCEL整行填充一种颜色保存后关闭再打开就变成两种深浅不同的颜色是怎么回事呢?请大神帮忙解决 格式刷提取那个单元格格式复制后颜色,保存后打开也的吗? 还有你可以右键单元格后下两种的图 ...

  8. Office、WPS中,Excel下拉列表怎么填充颜色.

    本文转载 原文地址:Office办公软件: Excel下拉列表怎么填充颜色 WPS办公软件: WPS中Excel怎么制作有颜色的下拉菜单

  9. Excel函数基础(三)函数

    Excel函数基础(三)函数 一.常用函数 1.求和:sum+求和范围 2.计数: count--计数范围--对数值类型计数 counta--计数范围--多所有类型计数 3.平均--average-- ...

最新文章

  1. 2016/11/18
  2. 黄煦涛教授逝世:获誉华人AI视觉鼻祖、一代宗师,完美家庭楷模
  3. js数据结构和算法(8)-图
  4. kali linux 里vim如何使用_Kali Linux的vi编辑器/vim编辑器使用方法
  5. Struts2-从值栈获取list集合数据(三种方式)
  6. 阿里云CDN产品经理陈章炜:边缘创新技术和落地实践
  7. PowerDesigner将PDM导出生成WORD文档(转)
  8. 拋棄虛擬機,微軟實驗讓我們在線做(一)
  9. 【MySQL数据库开发之四】MySQL 处理模式/常用查询/模式匹配等(下)
  10. sql语句返回近似值
  11. HTML- 锚点实例
  12. 奥维地图(OMAP)中坐标为什么有偏移?如何基于WGS84或GCJ02的经纬度坐标生成kml?怎么导出图上一个标签点的WGS84经纬度坐标?
  13. oracle和mysql建表语句的区别_mysql和oracle建表语句的区别
  14. 计算机二级C语言怎么过
  15. 智能家居产业现状总结
  16. 【PyTorch】Balanced_CE_loss 实现
  17. “低碳生活,绿建未来”主题活动——微信运动步数打卡比赛统计分析
  18. Redis 面试面面观
  19. 计算几何@_@不规则四边形求法
  20. 使用RestTemplate报301 Moved Permanently解决

热门文章

  1. 消格子时一个很深的bug的修复纪录
  2. 数据结构上机实验:单链表操作
  3. 设计模式学习摘要-抽象工厂
  4. C#实现重新启动计算机
  5. 10个好用的Web日志安全分析工具
  6. Zabbix 源码解析之监控项数据采集流程
  7. VMware虚拟机里centos7下安装mysql5.6并授权远程连接Navicat
  8. Linux 服务器为什么被黑
  9. Ubuntu ufw防火墙常见命令
  10. Eclipse SonarLint 插件 “SonarLint processing file 。。。 lombok/launch/PatchFixesHider“ 解决办法