Después de mirar mucho, incluidos los enlaces de esta página, encontré este excelente artículo, usando la zona horaria del momento:
https://www.webniraj.com/2016/11/23/javascript-using-moment-js-to-display-dates-times-in-users-timezone/
Para resumirlo:
Obtener la zona horaria del usuario
var tz = moment.tz.guess();
console.info('Timezone: ' + tz);
Devoluciones, por ejemplo: Zona horaria: Europa / Londres
Establecer la zona horaria predeterminada del usuario
moment.tz.setDefault(tz);
Establecer zona horaria personalizada
moment.tz.setDefault('America/Los_Angeles');
Convierta la fecha / hora a la zona horaria local, se supone que la fecha / hora original está en UTC
moment.utc('2016-12-25 07:00').tz(tz).format('ddd, Do MMMM YYYY, h:mma');
Devoluciones: dom, 25 de diciembre de 2016, 7:00 a.m.
Convertir fecha / hora a LA Time
moment.utc('2016-12-25 07:00').tz('America/Los_Angeles').format('ddd, Do MMMM YYYY, h:mma');
Devoluciones: sábado 24 de diciembre de 2016, 11:00 p.m.
Convertir de hora LA a Londres
moment.tz('2016-12-25 07:00', 'America/Los_Angeles').tz('Europe/London').format( 'ddd, Do MMMM YYYY, h:mma' );
Devoluciones: dom, 25 de diciembre de 2016, 3:00 p.m.