анализ формата d3 dateformat возвращает null

#d3.js

#d3.js

Вопрос:

Я использую d3.time.format для анализа переменной времени. Но parsed_date возвращает значение null.

 date = "Thu Apr 18 09:06:23  0000 2019"
dateFormat = d3.time.format("%Y-%m-%d")
parsed_date = dateFormat.parse(date)
  

Я ожидаю

 parsed_date to return "2019-04-18"
  

Комментарии:

1. Какую версию D3 вы используете? Я думаю, что версии 4 и выше используют timeFormat вместо time.format

2. @Charlie это >> версия: «3.5.17»

Ответ №1:

.parse метод позволяет преобразовать дату в виде строки в собственный формат даты JavaScript. После этого вы можете форматировать дату так, как хотите, поэтому вам следует переписать свой код таким образом, чтобы он работал:

 const date = "Thu Apr 18 09:06:23  0000 2019";

const parseFunc = d3.time.format("%a %b %d %H:%M:%S %Z %Y").parse;
const formatFunc = d3.time.format("%Y-%m-%d");

const parsed_date = formatFunc(parseFunc(date));

console.log(parsed_date);  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js"></script>