Преобразование даты и времени в Javascript из формата /Date(1535515200000)/

Привет. Все это в основном задают вопрос, но я не нашел простого и прямого способа преобразовать это в современный формат.

текущий формат в

"/Date(1535515200000)/"

если я выполнил строку ниже, которая даст необходимый формат даты. Есть ли прямой способ получить формат даты от "/Date(1535515200000)/" до среды 29 августа 2018 г., 00:00:00 GMT-0400 (восточное летнее время)

new Date(1535515200000)

person Webber    schedule 27.08.2018    source источник
comment
Это похоже на отметку времени; проверьте это: stackoverflow.com/questions/847185/   -  person Chris Cousins    schedule 27.08.2018
comment
дата, которую я получаю из API, находится в строковом формате /Date(1535515200000)/, мне нужно преобразовать в среду, 29 августа 2018 г., 00:00:00 GMT-0400 (восточное летнее время)   -  person Webber    schedule 27.08.2018
comment
Я почти всегда использую этот пакет при работе с датами javascript -› momentjs.com он обрабатывает преобразование для этого формата с помощью никаких проблем и многое другое.   -  person Paul Swetz    schedule 27.08.2018


Ответы (2)


var s = "/Date(1535515200000)/";
var ts = s.substring(s.indexOf('(')+1,s.lastIndexOf(')'));
console.log(new Date(Number(ts)).toISOString());

Напечатает "2018-08-29T04:00:00.000Z"

person Philipp    schedule 27.08.2018
comment
Гораздо проще new Date(+s.replace(/\D/g,'')).toISOString(). ;-) - person RobG; 28.08.2018

Если вы делаете это из JSON.parse, вы можете использовать параметр оживления и проанализировать его.

const x = JSON.parse('{"foo": "/Date(1535515200000)/"}', (key, value) =>
  typeof value === 'string' && value.startsWith("/Date(")
    ? new Date(+value.match(/(\d+)/)[0]) // return new date
    : value     // return everything else unchanged
);
console.log(x);

person epascarello    schedule 27.08.2018