Конвертировать C # DateTime в то время как в «пусть»?

1

Мне нужно преобразовать DateTime в массив, чтобы что-то JavaScript понимает как действительную дату, поэтому я могу составить график результатов. Я использую следующий код для построения массива из другого объекта:

let arr = obj.map(e => {
    let { dateTime, averageJitterInMs } = e;
    return [dateTime, +averageJitterInMs];
});

Пример исходной даты хранится как время UTC: 2018-10-14T17:19:53.2596293

Я пробовал:

let arr = obj.map(e => {
    let { dateTime, averageJitterInMs } = e;
    return [function() { return new Date(dateTime) }, +averageJitterInMs];
});

это дает мне нули на свидание...

Также попробовали:

let arr = obj.map(e => {
    let { dateTime, averageJitterInMs } = e;
    return [function() { new Date(dateTime) }, +averageJitterInMs];
});

это также дает мне нули...

Также попробовали:

let arr = obj.map(e => {
    let { dateTime, averageJitterInMs } = e;
    return [Date.parse(dateTime), +averageJitterInMs];
});

это дает мне эпоху, когда я верю, что не то, что мне нужно.

Очевидно, что мой синтаксис для использования анонимной функции, среди прочего, неверен. Просто ищите небольшую помощь по правильному способу сделать это, или если это можно сделать внутри этого блока let.

Кроме того, учитывая формат даты, мне нужно выполнить дополнительные действия для его интерпретации значения времени в строке? У меня есть возможность форматирования строки, как мне хотелось бы, из бэк-конца до того, как он попадет на JavaScript (то есть через мой код С#). Так что если это имеет смысл сделать это там, чтобы было проще JavaScript для его анализа, не проблема.

  • 1
    return [new Date(dateTime), +averageJitterInMs] ? И я бы просто пропустил миллисекунды с 1970 года, так как это единственное, что Date() надежно анализирует.
  • 0
    У меня были противоречивые результаты. Microsoft Edge с использованием new Date().toLocaleString('en-US') и new Date().toLocaleString('en-US') строки даты, как у OP. Edge выпустил вывод, который включал часовой пояс, в то время как Firefox и Chrome только что создали короткую дату. Таким образом, в конце я разделил строку даты вручную, чтобы получить день, месяц и год, чтобы получить новый объект даты
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Вы можете просто использовать конструктор Date:

 return [new Date(dateTime), +averageJitterInMs]

[Я мог бы изменить формат], если имеет смысл это сделать, так что JavaScript легче анализировать

Я бы просто прошел миллисекунды с 1970 года, поскольку это единственное, что Date() надежно проверяет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню