Это не имеет ничего общего с Clarity, а скорее с тем, как работают некоторые элементы HTML.
Проблема заключается в том, что вы создаете новую дату на основе UTC, а затем отбрасываете часовой пояс (substr удаляет Z).Вход datetime-local
предполагает, что он находится в местном часовом поясе.Таким образом, вам нужно будет построить дату в местном часовом поясе, и тогда она будет отображаться правильно.Вам придется создавать время вручную (или использовать библиотеку, подобную MomentJS), потому что нет метода JavaScript Date, который бы предоставлял вам формат типа YYYY-MM-DDTHH:MM
.
datetime-local
поддерживается не всеми основными браузерами,поэтому я бы предостерег от его использования.