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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
JQuery 学习笔记 选择器之三
Jul 23 Javascript
11款基于Javascript的文件管理器
Oct 25 Javascript
写出更好的JavaScript之undefined篇(上)
Nov 22 Javascript
Js中的onblur和onfocus事件应用介绍
Aug 27 Javascript
javascript框架设计之类工厂
Jun 23 Javascript
javascript控制图片播放的实现代码
Jul 29 Javascript
第四章之BootStrap表单与图片
Apr 25 Javascript
阿里云ecs服务器中安装部署node.js的步骤
Oct 08 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
Dec 07 Javascript
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
JS正则表达式常见用法实例详解
Jun 19 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
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP _construct()函数讲解
2019/02/03 PHP
JS读取XML文件示例代码
2013/11/15 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
Node.js事件驱动
2015/06/18 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
js实现秒表计时器
2019/12/16 Javascript
react基本安装与测试示例
2020/04/27 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
python装饰器decorator介绍
2014/11/21 Python
python套接字流重定向实例汇总
2016/03/03 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
宿舍违规用电检讨书
2014/02/16 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
一文读懂navicat for mysql基础知识
2021/05/31 MySQL