3

xType={'time'}文档中所述,我正在使用带有俄语语言环境的 XYPlot ,有没有办法将 24 小时时间格式传递给 d3-scale?

规模

而不是“03 AM”,我需要像“03:00”这样的东西。

来自 d3-time-format 的俄语语言环境的时间定义为 %H,应该是 24 小时:

{ "dateTime": "%A, %e %B %Y г. %X", "date": "%d.%m.%Y", "time": "%H:%M:%S", "periods": ["AM", "PM"], // ... some other options }

不幸的是,该设置不会影响比例行为。

4

2 回答 2

4

因此,根据您在网页末尾提供的链接,您可以注意到其他语言环境中的配置。您可以稍微调整它的时间来实现您所需要的:

import {timeFormatDefaultLocale} from 'd3-time-format';
timeFormatDefaultLocale({
    dateTime    : '%a %b %e %X %Y',
    date        : '%d/%m/%Y',
    time        : '%H%H:%m%m:%s%s',
    periods     : ['AM', 'PM'],
    days        : ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
    shortDays   : ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
    months      : ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre'],
    shortMonths : ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Jui', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec']
});

您可以在此处找到日期格式:Javascript 日期格式

于 2019-03-20T08:27:31.257 回答
0

您可以使用 Moment.js 使用类似的东西:

<XAxis
     tickFormat={(v) => ${moment(v).format("h:mm a")}}
/>
于 2019-04-16T13:26:23.550 回答