К сожалению, у Moment нет токена разбора для смещений типа GMT-6
. Для корректной работы с токеном Z
смещение должно быть не менее двух цифр. Вы можете использовать регулярное выражение замены, чтобы изменить вашу строку перед синтаксическим анализом.
var input = 'February 4, 2020, 3:15:14 PM GMT-6';
var adjusted = input.replace(/(GMT\+|-)([1-9])/, '$10$2');
var m = moment.parseZone(adjusted, 'MMMM D, YYYY, h:mm:ss A [GMT]Z');
m.format() //=> "2020-02-04T15:15:14-06:00"
(Возможно, есть улучшения в регулярном выражении, которые могут быть сделаны, но этот работает.)