Я закончил тем, что добавил библиотеку date-fns-tz
и сделал это:
import { parseISO, format } from 'date-fns';
import { utcToZonedTime } from 'date-fns-tz';
const localDate = parseISO('2020-06-08T04:00:00.000Z');
const convertedDate = isLocalTime ? localDate : utcToZonedTime(localDate, 'UTC');
const formattedDateString = isLocalTime
? format(convertedDate, 'MMMM dd, yyyy, EEEE, hh:mm aaa EEEE') // June 08, 2020, Monday, 06:00 AM, GMT+02:00
: `${format(convertedDate, 'MMMM dd, yyyy, EEEE, hh:mm aaa')} UTC`; // June 08, 2020, Monday, 04:00 AM, UTC
Отказ от ответственности : я не нашел использования параметра UTC
utcToZonedTime
задокументировано ( это может быть не рекомендуемый способ ИЛИ просто я не нашел его в библиотеке документов).