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 相关文章推荐
javascript 全选与全取消功能的实现代码
Dec 23 Javascript
js实现单一html页面两套css切换代码
Apr 11 Javascript
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
jQuery元素的隐藏与显示实例
Jan 20 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
Mar 02 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
Mar 05 Javascript
RequireJS入门一之实现第一个例子
Sep 30 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
微信小程序如何获知用户运行小程序的场景教程
May 17 Javascript
浅谈ElementUI中switch回调函数change的参数问题
Aug 24 Javascript
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
详解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-fpm的两种进程管理模式详解
2013/06/03 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
react写一个select组件的实现代码
2019/04/03 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python搭建简易服务器分析与实现
2012/12/15 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
装潢设计专业推荐信模板
2013/11/26 职场文书
医学实习生自我鉴定
2013/12/12 职场文书
初一生物教学反思
2014/01/18 职场文书
爱情保证书范文
2014/02/01 职场文书
室内拓展活动方案
2014/02/13 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL