Как насчет просто:
var s = "Jan 24, 2019 12:00 PST";
var d = new Date(s);
var m = moment(d).tz("America/New_York");
console.log(m.format("MMM DD Y, hh:mm z"));
Единственное беспокойство здесь - где вы получили эту строку.Насколько я знаю, эта строка работает в любом браузере.Но конструктор Date, похоже, не поддерживает именованные смещения, такие как "PST", за пределами США, поэтому, если вы получили CEST для центральноевропейского времени, это не сработает.В этом случае просто отрежьте PST и проанализируйте его с помощью функций парсинга строк Moment.Поскольку вы уже знаете, что строка была сгенерирована в той же зоне, в которой находится пользователь, она вам все равно не нужна.
В качестве альтернативы всему этому, избегайте полной необходимости этой строки и получайте дату вISO с исходного сервера, или если строка пришла из какого-то другого фрагмента Javascript, просто получите этот объект Date и передайте его непосредственно в Moment.