Ваша дата "2018-01-01-12: 12: 12: 123456" недействительна Дата ISO 8601 , поэтому она не может быть проанализирована встроенным анализатором.Либо используйте правильный формат даты, либо напишите собственный анализатор.
Вы можете использовать регулярное выражение или просто использовать строковые функции, такие как подстрока, как продемонстрировано в другом ответе.
Даты в Javascript будут влокальный часовой пояс браузера, который является системным временем пользователя, нет собственного способа создания даты в другом часовом поясе.Вы можете создать дату в UTC и использовать toLocaleString()
, чтобы преобразовать ее в определенный часовой пояс.Зависит от того, дата отправлена с бэкэнда в UTC или CT.Если это CT, то это будет работать только для пользователей в часовом поясе CT.
let result = "2018-01-01-12:12:12:123456".match(/(\d{4})-(\d{2})-(\d{2})-(\d{2}):(\d{2}):(\d{2}):(\d{3})/).map(x => parseInt(x, 10));
result.shift();
console.log(new Date(...result).toLocaleString())