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 相关文章推荐
js DOM的学习笔记
Dec 22 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
Jan 16 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 Javascript
微信小程序实现评论功能
Nov 28 Javascript
vue使用nprogress加载路由进度条的方法
Jun 04 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 Javascript
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 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
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
学习jquery之一
2007/04/27 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
Python查找相似单词的方法
2015/03/05 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
python实现停车管理系统
2018/11/30 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
使用Python构造hive insert语句说明
2020/06/06 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
应届医学毕业生求职信分享
2013/12/02 职场文书
教师岗位职责范本
2013/12/29 职场文书
2014年情人节活动方案
2014/02/16 职场文书
入学申请自荐信范文
2014/02/26 职场文书
护理专业学生职业生涯规划范文
2014/03/11 职场文书
2014年党务公开方案
2014/05/08 职场文书
保护黄河倡议书
2014/05/16 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
英语教师求职信范文
2015/03/20 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
python中的被动信息搜集
2021/04/29 Python
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL