Я хотел бы преобразовать строку даты в формате UTC в текущий часовой пояс пользователя и сохранить формат строки даты.

Например, у меня есть этот код, который работает:

var data = '2017-04-24 12:06:37';
var date = new Date(data+' UTC');

console.log(date.toString()); // logs "Mon Apr 24 2017 08:06:37 GMT-0400 (Eastern Daylight Time)"

Как я могу получить это для динамического вывода новой строки даты в том же формате?

0
kjdion84 24 Апр 2017 в 18:58

2 ответа

Лучший ответ

Решение, которое я использовал с моментами:

moment.utc(value).local().format('YYYY-MM-DD HH:mm:ss');

0
kjdion84 25 Апр 2017 в 16:21

Вам необходимо добавить UTC в строку , прежде чем преобразовать ее в дату.

Чтобы преобразовать любую дату в строку UTC, вы можете использовать

 var UTCstring = (new Date()).toUTCString();

Смотрите мой фрагмент. Он сравнивает пять разных методов.

var date = new Date('2017-04-24 12:06:37 PM UTC');
var local = date.toString();
var utc = date.toUTCString();
var iso = date.toISOString();
var dateString = date.toDateString();
console.log(date);
console.log(local);
console.log(utc);
console.log(iso);
console.log(dateString);
0
Felix 24 Апр 2017 в 17:01
43592756