d3.js 在React时间刻度轴中设置24小时时间格式

gkn4icbw  于 2022-11-12  发布在  React
关注(0)|答案(2)|浏览(190)

我正在使用XYPlot,xType={'time'}和俄语区域设置如documentation中所述,是否有办法将24小时时间格式传递到d3刻度?

而不是“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
}

遗憾的是,该设置不会影响秤的行为。

tf7tbtn2

tf7tbtn21#

因此,根据您在网页末尾提供的链接,您可以注意到另一个区域设置中的配置。您可以稍微调整它的时间以实现您需要的配置:

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 Date Format

jpfvwuh4

jpfvwuh42#

您可以使用Moment.js来执行类似以下的操作:

<XAxis
     tickFormat={(v) => ${moment(v).format("h:mm a")}}
/>

相关问题