Стоп D3 разбора строки даты - PullRequest
0 голосов
/ 11 февраля 2020

По-видимому, это поведение по умолчанию D3, поскольку не было задано никакой c конфигурации.

Если он получает строку 2019-10-26 (которую он распознает как время), D3 отформатирует ее как Sat Oct 26 2019 02:00:00 GMT+0200 (Central European Summer Time).

Я могу проверить, какой тип данных читается, и иметь d3-format spe c для различных числовых форматов, который выглядит следующим образом (создание таблицы):

).selectAll("td").text(d =>
    (__ => __ && ["INTEGER", "FLOAT"].includes(__.dataType) ? formatNumber(__.format)(d.value) : d.value)
    (window.dimensions.find(({ name }) => name === d.column))
);

Я сделаю то же самое для типов времени, но мне нужно только форматировать время, когда я его вызываю. Я не хочу, чтобы D3 распознавал типы времени самостоятельно. В идеале, в приведенном выше коде, когда он возвращает только d.value, он возвращает 2019-10-26 - без форматирования.

Есть ли способ отключить форматирование времени по умолчанию?

1 Ответ

0 голосов
/ 12 февраля 2020

Я нашел, где происходило приведение типов: мы звонили csvParse из d3-dsv и предоставили ему значение по умолчанию, необязательное autoType.

Вызов был:

csvParse(__.filter(row => row[0] !== "#").join("\n"), autoType)

и сейчас:

csvParse(__.filter(row => row[0] !== "#").join("\n"), myAutoType)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...