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获得页面元素的绝对/相对位置即绝对X,Y坐标
Mar 06 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
Mar 28 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
Aug 07 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
解决Layui 表单提交数据为空的问题
Aug 15 Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
vue slot与传参实例代码讲解
Apr 28 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
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
自己前几天写的无限分类类
2007/02/14 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
javascript 鼠标滚轮事件
2009/04/09 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
Python下使用Psyco模块优化运行速度
2015/04/05 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
详解Python字典的操作
2019/03/04 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
python 串行执行和并行执行实例
2020/04/30 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
幼儿园教研活动方案
2014/01/19 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2016年元旦主持词
2015/07/06 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android