Joh*_*ube 6 javascript api charts google-visualization
我想创建一个图表来显示我在10k跑步的时间.一切都正常,我唯一的问题是,我想格式化时间的显示方式.
目前,时间显示为表示秒数的数字.例如,30分钟的运行时间降至10800秒.谷歌提供的格式化程序确实涵盖了很多东西,但我对它们提供的内容并不满意.
http://code.google.com/apis/chart/interactive/docs/reference.html#formatters
遗憾的是,没有关于如何实现自己的格式化程序的信息.我有可能扩展格式化程序,还是有需要实现的接口?
我要做的第一件事就是将数字10800解析为30:00.00(30分钟,0秒,0毫秒)的美好时光.也许这已经可以使用patternformatter,但我不知道如何,因为涉及计算并且不知道如何在patternformatter中实现它.
谢谢您的帮助.约翰尼
使用具有自定义模式的DateFormat 。例如:
google.visualization.DateFormat({pattern: "mm:ss.SSS"});
Run Code Online (Sandbox Code Playgroud)
需要注意的是,这会显示 JS Date 对象的时间,因此您需要提供 JS 日期形式的运行时间。因此,要么指定对数据进行采样的实际时间。或者,如果您只想显示自跑步开始以来的相对时间,您可以执行以下操作:
new Date(new Date('Jan 01 2000').getTime() + sampleTime)
Run Code Online (Sandbox Code Playgroud)
...其中sampleTime 是每个采样点的时间(以毫秒为单位)。(这只是将时间设置为自 2000 年 1 月 1 日午夜以来的毫秒数,因此小时/分钟/秒将反映您的运行时间)