Приведение даты к формату — на бэкенде или фронтэнде?
С бэка отправляется дата по UTC. 
На фронте форматируется и выводится уже в локальном часовом поясе. 
Для форматирования не нужны сторонние библиотеки (Зависит от браузеров которые вам нужно поддерживать)
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Все по разному делают, я в том числе, но придерживаюсь мнения что бекенд не должен знать о том в каком виде пользователь видит дату, его задача отдать ее в UTC, а  уже на фронте все это дело стилизуется