根据配送日期,计算到货时间 (客制化自用)
/*** @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等等
获取月份对应的英文名:月份对应
根据配送日期,计算到货时间 (客制化自用)相关推荐
- 客制化键盘键位修改_干电池 支持5设备无线连接 - 高斯ALT71机械键盘拆解评测...
近一段时间,本人就感觉小型紧凑机械键盘键盘很火,这点我很意外,一直以来都是87键和104键的天下,怎么突然就很火热呢?我真的是LOW.小型紧凑型机械键盘种类很多,有60.61.64.66.67.68. ...
- 客制化键盘编程_装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版
装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版 2019-09-09 11:55:42 24点赞 89收藏 25评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最 ...
- 客制化键盘编程_客制化键盘劝退指南
客制化键盘劝退指南 最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了.这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的. 如此一来,家里的台式 ...
- 客制化键盘键位修改_IQUNIX Slim87 RGB机械键盘评测
IQUNIX作为知名的金属数码周边的品牌,近两年在外设领域也颇下功夫,为粉丝带来了高度客制化的F60.F96两个系列,多款不同配色的键盘产品.凭借别出心裁的外观设计以及出色的做工,也赢得消费者与市场的 ...
- Magento教程 7:客制化网站
帮助你的Magento更上一层楼! 架站完成后,我们将分享一些Magento好用的功能.扩充套件.小技巧以及常见的问题. 开启多语言介面 在Magento中,你可以轻松的进行语言切换,只要使用Mage ...
- Android 系统序列号从哪里来,以及客制化序列号
Android 系统序列号从哪里来,以及客制化序列号 系统获取序列号过程 客制化序列号 系统获取序列号过程 Android系统的SN号,实际是从"cmdline"里面的" ...
- Keychron Q1:客制化机械键盘|体验
在Cherry轴垄断的后几年,国产机械轴一举反超,在性价比.手感.耐用性上实现了全面碾压.至少现在的键圈和智能手机一样,支持国货不仅是情怀,更是为产品力在买单. 至于"如何卷"键盘 ...
- 客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (2) 采购以及组装
客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (2) 采购以及组装 在第一篇博文中 客制化键盘设计,我最终设计了如下图的键盘: 但是我们仅仅是设计出来有个P用,还得把键盘做出来 ...
- y7000电脑键盘使用不了_[电脑]致敬Cherry G80——J80 R2 87客制化键盘使用评测
[ 序 ] 一直就喜欢Cherry原厂键盘那种复古的造型和人体工程学设计,感觉任何OEM键盘都没有那种舒适感.无奈原厂104太占地方,且原厂扣具的固定方式加上现在越来轻薄(偷工减料)的设计,导致打字的 ...
最新文章
- Python组合数据类型之序列类型
- GIS可视化——属性图
- 001_JavaScript简介
- M-point moving-average(M点滑动平均)Matlab 实现
- opengl游戏引擎源码_UE4渲染引擎模块简介(1)
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
- 黑马程序员之单例模式学习
- C#基础-应用程序域
- [Github项目推荐] 机器学习 Python 知识点速查表
- Solving 'stdin: is not a tty ' error
- 如何把电脑文件传到虚拟机
- 双飞翼HTML圣杯布局,关于圣杯布局与双飞翼布局的理解
- android factorymode下回路测试无声音问题解析
- acrobat PDF删除部分_pdf转word怎么转教程
- 华人“芯片女神”苏妈的硅谷传奇之路
- el-descriptions文本水平垂直居中
- HTTP协议5之代理--转
- 高中计算机兴趣班一般学什么内容,高中主要学什么课程 有哪些科目
- vue中eslint报Disallow self-closing on HTML void elements格式错误时的解决方案
- init 服务程序(init.svc.XXX)死亡/重启-SIGCHLD及稳定性杂项记录