/*** @param {deliverDay} 需要配送的天数* @param {date} 开始配送的时间,一般默认是当天* @param {isObject} 自身需要的格式调整 (true 将计算出来的日期以对象的格式传出)
*/
//计算在规定的送货时间之中,有多少休息日,需要加上,再计算出具体的到货日期
export const getHolidayDay = function (deliverDay = 4,date = new Date(),isObject = false) {let today = date;//使用传入的let deliverFinalDate = '';//拼接出来的最终的日期字符串let festivalTimeStampArray = getFixedFestival();//特殊节假日的时间戳数组集合//要在这里先加一天let currentTimeStamp = today.getTime()+24*60*60*1000;//当天的时间戳let holidayTimeStampArray  = [];//统计的送货期间的假期的时间戳let holidayNum = 0;//计算送货期间的假期天数let dateStamp = 0;let finalDateStamp = 0;//最终的到货日期let filnalDate = new Date(finalDateStamp);if(deliverDay<1){//是否返回对象的形式if(isObject === true){deliverFinalDate = {day:getDayName(today.getDay()),date:getMonthName(today.getMonth()+1)+','+today.getDate() + ' '+today.getFullYear()}}else{deliverFinalDate = getDayName(today.getDay)+','+ today.getDate() + ' '+getMonthName(today.getMonth()+1);}}else{for(let i = 0;i< deliverDay;i++){dateStamp = currentTimeStamp+(i*24*60*60*1000);let day = new Date(dateStamp).getDay();//防止重复增加 -- 这里面有三个判断//周六或者周日且不在计算的固有节假日中let flag1 = (day == 6 || day == 0) && festivalTimeStampArray.indexOf(dateStamp) == -1;//在固有的节假日中let flag2 = festivalTimeStampArray.indexOf(dateStamp) != -1;//不再已经统计的假期中let flag3 = holidayTimeStampArray.indexOf(dateStamp) == -1;let flag5 = festivalTimeStampArray.indexOf(dateStamp) == -1;if((flag1 || flag2 ) && flag3){//原来的写法// holidayNum += 1;deliverDay += 1;holidayTimeStampArray.push(dateStamp);}}//当前获取到的最终到货时间finalDateStamp = dateStamp + (holidayNum*24*60*60*1000);filnalDate = new Date(finalDateStamp);if(isObject === true){deliverFinalDate = {day:getDayName(filnalDate.getDay()),date:getMonthName(filnalDate.getMonth()+1)+','+filnalDate.getDate() + ' '+filnalDate.getFullYear()}}else{deliverFinalDate = getDayName(filnalDate.getDay())+','+ filnalDate.getDate() + ' '+getMonthName(filnalDate.getMonth()+1);}}return deliverFinalDate;
}

相关的获取节假日的函数:getFixedFestival等等

获取月份对应的英文名:月份对应

根据配送日期,计算到货时间 (客制化自用)相关推荐

  1. 客制化键盘键位修改_干电池 支持5设备无线连接 - 高斯ALT71机械键盘拆解评测...

    近一段时间,本人就感觉小型紧凑机械键盘键盘很火,这点我很意外,一直以来都是87键和104键的天下,怎么突然就很火热呢?我真的是LOW.小型紧凑型机械键盘种类很多,有60.61.64.66.67.68. ...

  2. 客制化键盘编程_装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版

    装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版 2019-09-09 11:55:42 24点赞 89收藏 25评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最 ...

  3. 客制化键盘编程_客制化键盘劝退指南

    客制化键盘劝退指南 最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了.这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的. 如此一来,家里的台式 ...

  4. 客制化键盘键位修改_IQUNIX Slim87 RGB机械键盘评测

    IQUNIX作为知名的金属数码周边的品牌,近两年在外设领域也颇下功夫,为粉丝带来了高度客制化的F60.F96两个系列,多款不同配色的键盘产品.凭借别出心裁的外观设计以及出色的做工,也赢得消费者与市场的 ...

  5. Magento教程 7:客制化网站

    帮助你的Magento更上一层楼! 架站完成后,我们将分享一些Magento好用的功能.扩充套件.小技巧以及常见的问题. 开启多语言介面 在Magento中,你可以轻松的进行语言切换,只要使用Mage ...

  6. Android 系统序列号从哪里来,以及客制化序列号

    Android 系统序列号从哪里来,以及客制化序列号 系统获取序列号过程 客制化序列号 系统获取序列号过程 Android系统的SN号,实际是从"cmdline"里面的" ...

  7. Keychron Q1:客制化机械键盘|体验

    在Cherry轴垄断的后几年,国产机械轴一举反超,在性价比.手感.耐用性上实现了全面碾压.至少现在的键圈和智能手机一样,支持国货不仅是情怀,更是为产品力在买单. 至于"如何卷"键盘 ...

  8. 客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (2) 采购以及组装

    客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (2) 采购以及组装 在第一篇博文中 客制化键盘设计,我最终设计了如下图的键盘: 但是我们仅仅是设计出来有个P用,还得把键盘做出来 ...

  9. y7000电脑键盘使用不了_[电脑]致敬Cherry G80——J80 R2 87客制化键盘使用评测

    [ 序 ] 一直就喜欢Cherry原厂键盘那种复古的造型和人体工程学设计,感觉任何OEM键盘都没有那种舒适感.无奈原厂104太占地方,且原厂扣具的固定方式加上现在越来轻薄(偷工减料)的设计,导致打字的 ...

最新文章

  1. Python组合数据类型之序列类型
  2. GIS可视化——属性图
  3. 001_JavaScript简介
  4. M-point moving-average(M点滑动平均)Matlab 实现
  5. opengl游戏引擎源码_UE4渲染引擎模块简介(1)
  6. BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
  7. 黑马程序员之单例模式学习
  8. C#基础-应用程序域
  9. [Github项目推荐] 机器学习 Python 知识点速查表
  10. Solving 'stdin: is not a tty ' error
  11. 如何把电脑文件传到虚拟机
  12. 双飞翼HTML圣杯布局,关于圣杯布局与双飞翼布局的理解
  13. android factorymode下回路测试无声音问题解析
  14. acrobat PDF删除部分_pdf转word怎么转教程
  15. 华人“芯片女神”苏妈的硅谷传奇之路
  16. el-descriptions文本水平垂直居中
  17. HTTP协议5之代理--转
  18. 高中计算机兴趣班一般学什么内容,高中主要学什么课程 有哪些科目
  19. vue中eslint报Disallow self-closing on HTML void elements格式错误时的解决方案
  20. init 服务程序(init.svc.XXX)死亡/重启-SIGCHLD及稳定性杂项记录

热门文章

  1. JS简单的指针时钟动态效果
  2. 文字竖排工具 By 崔鹏飞 没有混淆,可以用reflector看代码
  3. java基础数据类型包装类的作用
  4. 网络协议-TCP、IP协议和互联网协议群
  5. 关于方向导数和梯度你真的懂了吗?
  6. 为什么hashcode的算法要用31作为乘子
  7. Python3 集成openpyxl 模块
  8. 案例分析:大数据平台技术方案及案例(ppt)
  9. linux中.tar文件怎么解压
  10. Mac OS系统APP软件推荐