Какой формат я использую с моментом, чтобы дать мне ту же строку, что и `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/