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 设计模式(二) 闭包
May 26 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
jquery做的一个简单的屏幕锁定提示框
Mar 26 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
React-router 4 按需加载的实现方式及原理详解
May 25 Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
nuxt框架中路由鉴权之Koa和Session的用法
May 09 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
在antd中setFieldsValue和defaultVal的用法
Oct 29 Javascript
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
详解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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
PHP在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
javascript求日期差的方法
2016/03/02 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
Python自动调用IE打开某个网站的方法
2015/06/03 Python
python分析作业提交情况
2017/11/22 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
python3 map函数和filter函数详解
2019/08/26 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
见习期自我鉴定
2013/11/07 职场文书
小学语文国培感言
2014/03/04 职场文书
创先争优标语
2014/06/27 职场文书
实验心得体会
2014/09/05 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
通知格式
2015/04/27 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
golang的文件创建及读写操作
2022/04/14 Golang