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 相关文章推荐
5个javascript的数字格式化函数分享
Dec 07 Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
Dec 26 Javascript
canvas实现图像截取功能
Feb 06 Javascript
JavaScript事件处理程序详解
Sep 19 Javascript
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
移动端图片上传旋转、压缩问题的方法
Oct 16 Javascript
Vue实现滑动拼图验证码功能
Sep 15 Javascript
js回调函数原理与用法案例分析
Mar 04 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
Vue3配置axios跨域实现过程解析
Nov 25 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
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
带你了解python装饰器
2017/06/15 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
带你认识Django
2019/01/15 Python
Python字典对象实现原理详解
2019/07/01 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
农民工工资承诺书范文
2014/03/31 职场文书
班委竞选演讲稿
2014/04/28 职场文书
销售目标责任书
2014/07/23 职场文书
MySQL学习之基础命令实操总结
2022/03/19 MySQL
vue使用watch监听属性变化
2022/04/30 Vue.js