Установите 24-часовой формат времени по оси времени - PullRequest
2 голосов
/ 20 марта 2019

Я использую XYPlot с xType={'time'} и русским языком, как описано в документации , есть ли способ передать 24-часовой формат времени в d3-шкалу?

scale

Вместо «03:00» мне нужно что-то вроде «03:00».

Русский язык из формата d3-time имеет время, определенное как% H, которое должно составлять 24 часа:

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

К сожалению, настройка не влияет на поведение шкалы.

Ответы [ 2 ]

4 голосов
/ 20 марта 2019

Итак, по ссылке, которую вы указали в конце веб-страницы, вы можете заметить конфигурацию в другой локали. Вы можете немного подправить время, чтобы достичь того, что вам нужно:

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

0 голосов
/ 16 апреля 2019

Вы можете использовать что-то вроде этого, используя Moment.js:

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