JavaScript生成指定范围的时间列表


Posted in Javascript onMarch 19, 2018

 遇到一个场景,需要拿到指定时间范围内的每一天,满足格式"YYYYMMDD",简单的功能,简单的思路

准备

 date对象有很多的方法,用到了以下:

   new date ()生成date对象,可以直接指定年月日等,new date(year,month,day)

   getFullYear() 返回date对象中的年份

   getMonth() 返回date对象中的月份(0~11),注意从0开始计

   getDate() 返回date对象中的天,注意从 1 开始计

      getTime() 返回1970年1月1日到date对象的毫秒数

解析指定范围

 规定按照 yyyy-mm-dd格式字符串输入时间范围,split分割即可得到开始和结束时间的年月日,再生成对应的date对象,拿到毫秒数

let st = start.split('-');
 let et = end.split('-');
 let startTime = new Date(st[0],st[1]-1,st[2]).getTime();
 let endTime = new Date(et[0],et[1]-1,et[2]).getTime();

  注意 : 月份需要减 1 ,因为是从0开始计的

拿到每一天

  如何知道时间范围内有那些天呢?上面有了开始和结束时间距离1970.1.1的毫秒数,每一天有24 * 60 * 60 * 1000的毫秒数,所以我们可以通过毫秒数计算出每一天

for( let i = startTime ; i <= endTime ; ){
    res.push(formatTime(i,''));
    i += 24 * 60 * 60 * 1000;
  }

格式化输出

将时间格式化,个位数字补0,加上指定的分割符

function formatTime(time,spliter = '-'){
  let date = new Date(time);
  let year = date.getFullYear();
  let month = (date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1);
  let day = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate();
  return `${year}${spliter}${month}${spliter}${day}
}

验证

JavaScript生成指定范围的时间列表 

总结

以上所述是小编给大家介绍的JavaScript生成指定范围的时间列表,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery的deferred对象详解
Nov 12 Javascript
html的DOM中Event对象onblur事件用法实例
Jan 21 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
Javascript前端经典的面试题及答案
Mar 14 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
Jun 25 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
Jun 11 Javascript
通过实例解析js简易模块加载器
Jun 17 Javascript
详解用async/await来处理异步
Aug 28 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
jQuery实现鼠标拖拽登录框移动效果
Sep 13 jQuery
element多个表单校验的实现
May 27 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
Mar 19 #Javascript
angularjs 缓存的使用详解
Mar 19 #Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 #Javascript
react-native-video实现视频全屏播放的方法
Mar 19 #Javascript
vue实现树形菜单效果
Mar 19 #Javascript
VUE重点问题总结
Mar 19 #Javascript
p5.js入门教程之键盘交互
Mar 19 #Javascript
You might like
非常好的php目录导航文件代码
2006/10/09 PHP
php ci框架验证码实例分析
2013/06/26 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
Django 返回json数据的实现示例
2020/03/05 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
演讲比赛获奖感言
2014/02/02 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
高一学生评语大全
2014/04/25 职场文书
团日活动总结报告
2014/06/25 职场文书
爱的承诺书
2015/01/20 职场文书
行政介绍信范文
2015/05/04 职场文书
使用Python获取字典键对应值的方法
2022/04/26 Python
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis