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 Event学习第七章 事件属性
Feb 07 Javascript
基于JQuery的Pager分页器实现代码
Jul 17 Javascript
javascript实现上传图片并预览的效果实现代码
Apr 11 Javascript
JQuery中对Select的option项的添加、删除、取值
Aug 25 Javascript
javascript中match函数的用法小结
Feb 08 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
May 07 Javascript
JavaScript极简入门教程(二):对象和函数
Oct 25 Javascript
全屏js头像上传插件源码高清版
Mar 29 Javascript
js实现交通灯效果
Jan 13 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
JS关于刷新页面的相关总结
May 09 Javascript
express启用https使用小记
May 21 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的远程图片抓取函数分享
2013/09/25 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
跟老齐学Python之再深点,更懂list
2014/09/20 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python3的输入方式及多组输入方法
2018/10/17 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
高中毕业典礼演讲稿
2014/09/09 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
八年级作文之我的母亲
2019/12/10 职场文书