Какой формат я использую с моментом, чтобы дать мне ту же строку, что и `new Date()`?

Я использую moment() и хочу знать, есть ли ярлык, чтобы дать мне ту же строку даты, что и new Date() дал бы мне.

Я должен сделать некоторые преобразования часовых поясов, поэтому использование moment.js делает это проще, но мне нужен тот же формат даты: Thu Oct 06 2016 23:08:53 GMT-0700 (PDT) как родной объект Date дал бы мне.

Я бы предположил, что есть ярлык для этого, но я не могу его найти.

moment.tz('America/New_York').format('???')

3 ответа

Если вы не знаете, в каком часовом поясе находится браузер в настоящее время, вы можете попробовать moment.tz.guess(), хотя смещение часового пояса с несколькими именами не является правильным на 100%:

var d = moment()._d;
d.toString().replace(/\([\w ]+\)$/, moment.tz(d, moment.tz.guess()).format('(z)'));

Я не мог найти ярлык, однако это дает строку мне нужно:

moment.tz('America/New_York').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ (z)')

из документов: http://momentjs.com/docs/

Возвращает: Fri Oct 07 2016 02:25:17 GMT-0400 (EDT)

Формат даты, на который вы ссылаетесь, зависит от культуры / языка вашего браузера. Кроме того, если вы хотите использовать тот же формат, что и стандартный новый метод Date(). ToString(), вы просто используете метод toString() для объекта момент без аргументов:

moment().toString();

Источник: http://momentjs.com/docs/

Другие вопросы по тегам