有个需求需要访问其他平台接口获取时间段内的大量数据,但是平台方对访问的时间宽度做了限制,受同事提醒打算采用时间分片的方式进行数据获取,获取所有数据后再进行数据组装。
百度时间分片时发现有专门时间分片的工具包,但是受某些因素限制,这里只能自己写个工具类。云平台限制代码无法复制,这里以图片代替以作记录,后续优化时再贴代码。
1.主方法
这个方法的作用是接受起始时间和结束时间时间戳,转化为时间Date格式后调用findDate()方法获取时间段内每一天的Date集合,之后判断list长度,为1则代表一天,直接存放开始结束时间戳返回结果,否则循环list,根据日期获取每日开始结束的时间戳。其中第一天的开始时间,最后一天的结束时间直接存放。循环结束返回结果。
2.时间戳与date格式互相转化方法
3.获取时间段内日期list的方法
这个方法存在个问题,返回的list会多条结束时间往后推一天数据,我这里没有深入,只是简单的remove了一下。
4.获取某天的开始时间戳
5.获取某天的结束时间戳
记录结束,按照自己的需求和思维逻辑写的时间分片,如有错误和优化欢迎指正。