Если строка, которую вы хотите проанализировать, не является одним из поддерживаемых форматов на данный момент. js и вы не предоставляете формат, вместо этого он будет использовать встроенный синтаксический анализатор. В консоли появится сообщение, предупреждающее о том, что это плохая идея (потому что это так, см. Почему Date.parse дает неверные результаты? ).
Если у вас есть неподдерживаемая строка формата, вы должны указать формат, например,
let s = "2020-04-01 13:33 PM UTC";
// Provide the input format when parsing
let d = moment(s, 'YYYY-MM-DD HH:mm A UTC');
// Provide the output format when formatting
console.log(d.format('MMM Do, YYYY h:mm A'));
// If the date is to be treated as UTC, use .utc
console.log(d.utc().format('MMM Do, YYYY h:mm A'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Кстати, при использовании 24-часового времени использование AM и PM является избыточным (и, возможно, вводящим в заблуждение).