Vis.js / Moment.js-时间轴标签

时间:2018-12-06 09:22:39

标签: javascript momentjs vis.js

我对vis.js时间轴的标签格式有疑问。我想显示1小时30分钟的排除时间,标签应仅显示经过的分钟和秒数。

我配置了以下选项:

let options = {
        autoResize: true,
        min: '2000-1-1 00:00:00',
        max: '2000-1-1 01:30:00',
        start: '2000-1-1 00:00:00',
        end: '2000-1-1 01:30:00',
        //zoomMax: 86399999,

        zoomMin: 18000,
        format: {
            minorLabels: {
                millisecond: '',
                second:     'mm:ss',
                minute:     'mm:ss',
                hour:       'mm:ss',
                weekday:    '',
                day:        '',
                week:       '',
                month:      '',
                year:       ''
              },
              majorLabels: {
                millisecond:'',
                second:     '',
                minute:     '',
                hour:       '',
                weekday:    '',
                day:        '',
                week:       '',
                month:      '',
                year:       ''
              }
        }
    };

据我所知,vis.js从moment.js调用了标签(秒,分钟,小时等)。可以在moment.js格式中以某种简便的方式将小时数(H)乘以60(分钟)到分钟(mm)值吗?

在我当前的配置中,它在60分钟后的00分钟重新启动: timeline

(是的,我正在开发足球应用程序)

1 个答案:

答案 0 :(得分:0)

In the docs,您可以找到通过函数自定义日期格式的选项:

  

您还可以为每个标签使用功能格式。该函数按日期,日期和步长顺序接受参数,并期望返回标签的字符串。

下面您可以找到转换为分钟的时间:

format: {
  minorLabels: function (date, scale, step) { 
    var time = date.format("HH:mm");
    return moment.duration(time).asMinutes();
  },
  majorLabels: function (date, scale, step) { return "" }
}

JSFiddle with example