最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript实现生成指定范围的时间列表

来源:动视网 责编:小采 时间:2020-11-27 19:58:51
文档

JavaScript实现生成指定范围的时间列表

JavaScript实现生成指定范围的时间列表:遇到一个场景,需要拿到指定时间范围内的每一天,满足格式"YYYYMMDD",简单的功能,本文主要和大家分享JavaScript实现生成指定范围的时间列表,希望能帮助到大家。准备 date对象有很多的方法,用到了以下: new date ()生成date对象,
推荐度:
导读JavaScript实现生成指定范围的时间列表:遇到一个场景,需要拿到指定时间范围内的每一天,满足格式"YYYYMMDD",简单的功能,本文主要和大家分享JavaScript实现生成指定范围的时间列表,希望能帮助到大家。准备 date对象有很多的方法,用到了以下: new date ()生成date对象,
 遇到一个场景,需要拿到指定时间范围内的每一天,满足格式"YYYYMMDD",简单的功能,本文主要和大家分享JavaScript实现生成指定范围的时间列表,希望能帮助到大家。

准备

 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实现生成指定范围的时间列表:遇到一个场景,需要拿到指定时间范围内的每一天,满足格式"YYYYMMDD",简单的功能,本文主要和大家分享JavaScript实现生成指定范围的时间列表,希望能帮助到大家。准备 date对象有很多的方法,用到了以下: new date ()生成date对象,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top