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 相关文章推荐
jQuery获取对象简单实现方法小结
Oct 30 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
jquery实现动态操作select选中
Feb 11 Javascript
js为什么不能正确处理小数运算?
Dec 29 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
AngularJS基础 ng-mousemove 指令简单示例
Aug 02 Javascript
半个小时学json(json传递示例)
Dec 25 Javascript
canvas实现图像布局填充功能
Feb 06 Javascript
jQuery is not defined 错误原因与解决方法小结
Mar 19 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
js构造函数创建对象是否加new问题
Jan 22 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
PHP网络操作函数汇总
2015/05/18 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
js实现详情页放大镜效果
2020/10/28 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
python服务器与android客户端socket通信实例
2014/11/12 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
迎接领导欢迎词
2014/01/11 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
python区块链持久化和命令行接口实现简版
2022/05/25 Python