Верно, Z обозначает нулевое смещение UTC. В данном случае переводить время нужно на UTC 00:00, потому что блок "Дата сейчас" показывает время с текущим часовым поясом компьютера (с другим UTC).
Чтобы применить нужное смещение ко времени компьютера, я обычно делаю так:
[[DATE_NOW1]] = applyOffset(0); //Пример для 2022-09-13T21:33:06Z (Гвинея) UTC 00:00
[[DATE_NOW2]] = applyOffset(3*60); //Пример для 2022-09-13T21:33:06+03:00 (Москва) UTC 03:00
[[DATE_NOW3]] = applyOffset(-4*60); //Пример для 2022-09-13T21:33:06-04:00 (Ямайка) UTC -04:00
function applyOffset(offset) {
var userOffset = new Date().getTimezoneOffset(); //Текущее смещение компьютера (UTC в минутах)
var differenceOffset = userOffset + offset; //Вычисление нужного смещения (применим к текущему времени)
var dateComputer = new Date(); //Текущие дата и время на компьютере
var result = dateComputer.setMinutes(dateComputer.getMinutes() + differenceOffset); //Применение смещения
return new Date(result);
}
Правильно меняет время и меняет дату (если по нужному UTC уже наступил другой день). Какой часовой пояс на компьютере - неважно, все успешно применится (главное, чтобы время по настроенному часовому поясу компьютера было правильным). Если нужно изменять дату и время под определенную страну, то следует помнить, что есть места, где, например, зимой UTC -04:00, а весной переводится на UTC -03:00. Если нужно просто применить смещение по UTC, то проблем никаких нет (время по UTC не переводится ни зимой, ни летом).
А стандартный блок "Изменить часовой пояс даты" у меня почему-то вообще не работает).