版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33168578/article/details/84837079
需求:折线图需要定点时间(例如五分钟)取一个点,在一段范围内(昨天的某个时间点到目前时间或者今天凌晨12点到目前的时间点),这种动态生成的时间轴。
以下以从当天的十二点开始,到当前时间点为止(五分钟以及其他时间一个道理)的demo
推荐一个很好用的获取时间以及改变想要的时间格式的插件moment.js(http://momentjs.cn/)
1.封装
function timeControl() {
timeArr = []
var startTime = new Date(
new Date(new Date().toLocaleDateString()).getTime()
).getTime() //当天凌晨十二点
var endTime = timeFormat(moment().format('YYYY-MM-DD HH:mm:ss')) //moment.js获取的现在的时间点
var timerange = endTime - startTime
var count = Math.floor(timerange / (60 * 60 * 1000)) //时间间隔 (五分钟:5*60*1000)
console.log(count)
for (var i = 0; i <= count; i++) {
var modTine = moment(startTime + (60 * 60 * 1000) * i).format('YYYY-MM-DD HH:mm')
timeArr.push(modTine)
}
if (startTime + count * (60 * 60 * 1000) !== endTime) {
timeArr.push(moment().format('YYYY-MM-DD HH:mm:ss'))
}
}
function timeFormat(time) { //时间格式封装
var changetime = time.replace(new RegExp("-", "gm"), "/")
return (new Date(changetime)).getTime()
}
调用
var timeArr=[]
timeControl()