【echarts应用】--横轴每五分钟取一个点,动态时间轴实现

需求:折线图需要定点时间(例如五分钟)取一个点,在一段范围内(昨天的某个时间点到目前时间或者今天凌晨12点到目前的时间点),这种动态生成的时间轴。

以下以从当天的十二点开始,到当前时间点为止(五分钟以及其他时间一个道理)的demo

推荐一个很好用的获取时间以及改变想要的时间格式的插件moment.js(http://momentjs.cn/)

【echarts应用】--横轴每五分钟取一个点,动态时间轴实现_第1张图片

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()

 

你可能感兴趣的:(echarts)