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 相关文章推荐
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
Jan 23 Javascript
JS判定是否原生方法
Jul 22 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
在jquery中combobox多选的不兼容问题总结
Dec 24 Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 jQuery
node.js中http模块和url模块的简单介绍
Oct 06 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
vue表单数据交互提交演示教程
Nov 13 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文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python中变量交换的例子
2014/08/25 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
Python的pygame安装教程详解
2020/02/10 Python
python同时遍历两个list用法说明
2020/05/02 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
美国最大的半成品净菜电商:Blue Apron(蓝围裙)
2018/04/27 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
大学旷课检讨书
2014/01/28 职场文书
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
企业负责人任命书
2014/06/05 职场文书
驾驶员安全责任书
2014/07/22 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
上班离岗检讨书
2014/09/10 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers