当你遇到一个场景,需要在指定的时间范围内得到每一天,满足格式‘yyymmdd’,功能简单,思路简单
准备好
日期对象的方法有很多,具体如下:
New date()生成一个date对象,可以直接指定年、月、日等。新日期(年、月、日)
GetFullYear()返回日期对象中的年份
GetMonth()返回date对象中的月份(0~11)。请注意,它从0开始
GetDate()返回Date对象中的天数。请注意,它从1开始。
GetTime()返回从1970年1月1日到date对象的毫秒数
解析指定的范围
规定按照yyyy-mm-dd格式字符串输入时间范围,拆分得到起止时间的年、月、日,然后生成对应的日期对象,得到毫秒
让ST=start . split('-');let et=end . split('-');让开始时间=新日期(st[0],st[1]-1,st[2])。getTime();让endTime=新日期(et[0],et[1]-1,et[2])。getTime();注意:月份需要减1,因为它从0开始
每天都得到
你怎么知道哪几天在时间范围内?1970.1.1的开始时间和结束时间之间有毫秒,每天有24 * 60 * 60 * 1000毫秒,所以我们可以按毫秒计算每一天
for(设i=startTimei=结束时间;){ res.push(formatTime(i),);i=24 * 60 * 60 * 1000}打印格式
格式化时间,用0填充一个数字,加上指定的分隔符
函数formatTime(time,spliter='-'){让date=new Date(时间);让year=date . getfullyear();让month=(date.getMonth() 1)=10?(date . getmonth()1): ' 0 '(date . getmonth()1);让day=date.getDate()=10?date . getdate(): ' 0 ' date . getdate();返回`$ { year } $ { splitter } $ { month } $ { splitter } $ { day } }验证
摘要
以上是边肖介绍的指定范围内的JavaScript生成时间列表。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!