Короткий ответ зависит от сезона: Москва опережает Белград на два часа зимой и на один час летом. Белград переводит часы, а Москва сейчас круглый год остаётся на UTC+3.
Короткий ответ
Москва впереди в оба сезона. Зимой Europe/Belgrade использует CET (UTC+1), поэтому Europe/Moscow с UTC+3 опережает её на два часа. Летом Белград использует CEST (UTC+2), и разница сокращается до одного часа. Для нужной даты рассчитывайте именованные зоны: правила перевода часов могут обновляться.
Сравнение зимой
Зимой Europe/Belgrade обычно использует UTC+1, а Europe/Moscow — UTC+3. В один момент московские часы идут на два часа вперёд. Если 15 января в Белграде 09:00, соответствующее местное время в Москве — 11:00 того же дня. Результат следует правилам зон для конкретного зимнего момента.
Сравнение летом
Летом Белград обычно переходит на UTC+2, а Москва остаётся на UTC+3. Разница становится равной одному часу. Если 15 июля в Белграде 09:00, в Москве 10:00. Положение городов не изменилось — изменилось сезонное смещение одной зоны. Поэтому один постоянный ответ для этой пары вводил бы в заблуждение.
Универсальный вывод
Выбирайте именованные зоны, сохраняйте нужную дату и рассчитывайте от одного момента. Не делайте Москву, Белград или другое место истиной по умолчанию для всех. Зона браузера может удобно заполнить первое поле, но пользователь должен свободно заменить обе зоны. Часы и базу правил для ответа предоставляет сервер.